Perubahan dalam Pemberitahuan Acara S3 API dari versi 1 ke versi 2 - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Perubahan dalam Pemberitahuan Acara S3 API dari versi 1 ke versi 2

Topik ini merinci perubahan dalam Pemberitahuan Acara S3 API dari versi 1.x (v1) ke versi 2 .x (v2) dari. AWS SDK for Java

Perubahan tingkat tinggi

Perubahan struktural

V1 menggunakan kelas internal statis untuk EventNotificationRecord tipe dan atributnya, sedangkan v2 menggunakan kelas publik terpisah untuk EventNotificationRecord tipe.

Perubahan konvensi penamaan

Di v1, nama kelas atribut menyertakan akhiran Entity, sedangkan v2 menghilangkan akhiran ini untuk penamaan yang lebih sederhana: misalnya, bukan. eventDataeventDataEntity

Perubahan dependensi, paket, dan nama kelas

Di v1, API kelas Pemberitahuan Acara S3 diimpor secara transitif bersama dengan modul S3 (). artifactId aws-java-sdk-s3 Namun, di v2, Anda perlu menambahkan ketergantungan pada s3-event-notifications artefak.

Perubahan v1 v2

Ketergantungan Maven

<dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>1.X.X</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> </dependency> </dependencies>
<dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.X.X1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3-event-notifications</artifactId> </dependency> </dependencies>
Nama paket com.amazonaws.services.s3.event software.amazon.awssdk.eventnotifications.s3.model
Nama kelas

S3 EventNotification

S3 .S3 EventNotification EventNotificationRecord

S3EventNotification. GlacierEventDataEntity

S3EventNotification. IntelligentTieringEventDataEntity

S3EventNotification. LifecycleEventDataEntity

S3EventNotification. ReplicationEventDataEntity

S3EventNotification. RequestParametersEntity

S3EventNotification. ResponseElementsEntity

S3EventNotification. RestoreEventDataEntity

S3 .S3 EventNotification BucketEntity

S3 EventNotification .S3Entitas

S3 .S3 EventNotification ObjectEntity

S3EventNotification. TransitionEventDataEntity

S3EventNotification. UserIdentityEntity

S3 EventNotification

S3 EventNotificationRecord

GlacierEventData

IntelligentTieringEventData

LifecycleEventData

ReplicationEventData

RequestParameters

ResponseElements

RestoreEventData

S3Bucket

S3

S3Objek

TransitionEventData

UserIdentity

1 Versi terbaru.

APIperubahan

JSONuntuk S3EventNotification dan membalikkan

Kasus penggunaan v1 v2
Buat S3EventNotification dari JSON String
S3EventNotification notification = S3EventNotification.parseJson(message.body());
S3EventNotification notification = S3EventNotification.fromJson(message.body());
Konversi S3EventNotification ke JSON String
String json = notification.toJson();
String json = notification.toJson();

Atribut akses S3EventNotification

Kasus penggunaan v1 v2
Mengambil catatan dari notifikasi
List<S3EventNotification.S3EventNotificationRecord> records = notifcation.getRecords();
List<S3EventNotificationRecord> records = notification.getRecords();
Mengambil catatan dari daftar catatan
S3EventNotification.S3EventNotificationRecord record = records.stream().findAny().get();
S3EventNotificationRecord record = records.stream().findAny().get();
Ambil data peristiwa Glacier
S3EventNotification.GlacierEventDataEntity glacierEventData = record.getGlacierEventData();
GlacierEventData glacierEventData = record.getGlacierEventData();
Mengambil data peristiwa pemulihan dari peristiwa Glacier
S3EventNotification.RestoreEventDataEntity restoreEventData = glacierEventData.getRestoreEventDataEntity();
RestoreEventData restoreEventData = glacierEventData.getRestoreEventData();
Ambil parameter permintaan
S3EventNotification.RequestParametersEntity requestParameters = record.getRequestParameters();
RequestParameters requestParameters = record.getRequestParameters();
Ambil data acara Intelligent Tiering
S3EventNotification.IntelligentTieringEventDataEntity tieringEventData = record.getIntelligentTieringEventData();
IntelligentTieringEventData intelligentTieringEventData = record.getIntelligentTieringEventData();
Mengambil data peristiwa lifecyle
S3EventNotification.LifecycleEventDataEntity lifecycleEventData = record.getLifecycleEventData();
LifecycleEventData lifecycleEventData = record.getLifecycleEventData();
Ambil nama acara sebagai enum
S3Event eventNameAsEnum = record.getEventNameAsEnum();
//getEventNameAsEnum does not exist; use 'getEventName()' String eventName = record.getEventName();
Ambil data peristiwa replikasi
S3EventNotification.ReplicationEventDataEntity replicationEntity = record.getReplicationEventDataEntity();
ReplicationEventData replicationEventData = record.getReplicationEventData();
Ambil bucket S3 dan informasi objek
S3EventNotification.S3Entity s3 = record.getS3();
S3 s3 = record.getS3();
Mengambil informasi identitas pengguna
S3EventNotification.UserIdentityEntity userIdentity = record.getUserIdentity();
UserIdentity userIdentity = record.getUserIdentity();
Ambil elemen respons
S3EventNotification.ResponseElementsEntity responseElements = record.getResponseElements();
ResponseElements responseElements = record.getResponseElements();

Migrasi S3EventNotification menggunakan aws-lambda-java-events pustaka.

Jika Anda menggunakan aws-lambda-java-eventsuntuk bekerja dengan peristiwa pemberitahuan S3 dalam fungsi Lambda, kami sarankan Anda meningkatkan ke versi 3.xx terbaru. Versi terbaru menghilangkan semua dependensi pada AWS SDK for Java 1.x dari pemberitahuan acara S3. API