本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
S3 事件通知 API 从版本 1 到版本 2 的更改
本主题详细说明了 S3 事件通知 API 从 适用于 Java 的 AWS SDK版本 1.x(v1)到版本 2(v2)的更改。
高级别更改
结构变化
V1 对 EventNotificationRecord 类型及其属性使用静态内部类,而 v2 对 EventNotificationRecord 类型使用单独的公共类。
命名约定更改
在 v1 中,属性类名称包含后缀 Ent it y,而 v2 为了更简单的命名省略了这个后缀:例如,用 eventData 代替。eventDataEntity
依赖项、软件包和类名的更改
在 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 |
| 类名 |
S3 EventNotification .S3 EventNotificationRecord S3 EventNotification。 GlacierEventDataEntity S3 EventNotification。 IntelligentTieringEventDataEntity S3 EventNotification。 LifecycleEventDataEntity S3 EventNotification。 ReplicationEventDataEntity S3 EventNotification。 RequestParametersEntity S3 EventNotification。 ResponseElementsEntity S3 EventNotification。 RestoreEventDataEntity S3 EventNotification .S3 BucketEntity S3 EventNotification .S3Entity S3 EventNotification .S3 ObjectEntity |
1 最新版本
API 更改
JSON 和 S3EventNotification 的相互转换
| 使用案例 | v1 | v2 |
|---|---|---|
从 JSON 字符串创建 S3EventNotification |
|
|
将 S3EventNotification 转换为 JSON 字符串 |
|
|
S3EventNotification 的访问属性
| 使用案例 | v1 | v2 |
|---|---|---|
| 从通知中检索记录 |
|
|
| 从记录列表中检索记录 |
|
|
| 检索 Glacier 事件数据 |
|
|
| 从 Glacier 事件中检索还原事件数据 |
|
|
| 检索请求参数 |
|
|
| 检索智能分层事件数据 |
|
|
| 检索生命周期事件数据 |
|
|
| 以枚举形式检索事件名称 |
|
|
| 检索复制事件数据 |
|
|
| 检索 S3 存储桶和对象信息 |
|
|
| 检索用户身份信息 |
|
|
| 检索响应元素 |
|
|
迁移 aws-lambda-java-events 库版本
如果您习惯在 Lambda 函数中处理 S3 通知事件,我们建议您升级到最新的 3.x.x 版本。aws-lambda-java-events
若要详细了解 aws-lambda-java-events 库和适用于 Java 的 SDK 2.x 在处理 S3 事件通知方面的差异,请参阅使用 Java 库在 Lambda 中处理 S3 事件:以及 AWS SDK for Java 2.x aws-lambda-java-events。