バージョン 1 からバージョン 2 での S3 イベント通知 API の変更
このトピックでは、AWS SDK for Java のバージョン 1.x (v1) からバージョン 2 .x (v2) での S3 イベント通知 API の変更について詳しく説明します。
高レベル変更
構造の変更
V1 は EventNotificationRecord 型とその属性に静的内部クラスを使用しますが、v2 は EventNotificationRecord 型に個別のパブリッククラスを使用します。
命名規則の変更
v1 では、属性クラス名にはサフィックス「Entity」が含まれますが、v2 では、より単純な命名のためにこのサフィックスを省略します。例えば、「eventDataEntity」ではなく「eventData」となります。
依存関係、パッケージ、クラス名の変更
v1 では、S3 イベント通知 API クラスは、S3 モジュール (artifactId aws-java-sdk-s3) とともに推移的にインポートされます。ただし、v2 では、s3-event-notifications アーティファクトに依存関係を追加する必要があります。
| 変更 | v1 | v2 |
|---|---|---|
|
Maven の依存関係 |
|
|
| パッケージ名 | com.amazonaws.services.s3.event |
software.amazon.awssdk.eventnotifications.s3.model |
| クラス名 |
S3EventNotification.S3EventNotificationRecord S3EventNotification.GlacierEventDataEntity S3EventNotification.IntelligentTieringEventDataEntity S3EventNotification.LifecycleEventDataEntity S3EventNotification.ReplicationEventDataEntity S3EventNotification.RequestParametersEntity S3EventNotification.ResponseElementsEntity S3EventNotification.RestoreEventDataEntity S3EventNotification.S3BucketEntity S3EventNotification.S3ObjectEntity |
1 最新バージョン
API の変更
JSON から S3EventNotification および逆方向
| ユースケース | v1 | v2 |
|---|---|---|
JSON 文字列から S3EventNotification を作成する |
|
|
S3EventNotification をJSON 文字列に変換する |
|
|
S3EventNotification のアクセス属性
| ユースケース | v1 | v2 |
|---|---|---|
| 通知からレコードを取得する |
|
|
| レコードのリストからレコードを取得する |
|
|
| Glacier イベントデータを取得する |
|
|
| Glacier イベントから復元イベントデータを取得する |
|
|
| リクエストパラメータを取得する |
|
|
| Intelligent Tiering イベントデータを取得する |
|
|
| ライフサイクルイベントデータを取得する |
|
|
| イベント名を列挙型として取得する |
|
|
| レプリケーションイベントデータを取得する |
|
|
| S3 バケットとオブジェクト情報を取得する |
|
|
| ユーザー ID 情報を取得する |
|
|
| レスポンス要素を取得する |
|
|
aws-lambda-java-events ライブラリバージョンを移行する
aws-lambda-java-events
aws-lambda-java-events ライブラリと SDK for Java 2.x での S3 イベント通知の処理の違いについては、「Java ライブラリ AWS SDK for Java 2.x および aws-lambda-java-events を使用して Lambda で S3 イベントを処理する」を参照してください。