注意
本文档适用于 Ceph 的开发版本。
S3 存储桶通知兼容性
Ceph 的存储桶通知 API 遵循 AWS S3 存储桶通知 API。但是,存在一些差异,如下所列。
注意
兼容性因使用的以下机制而异。
支持的目标
AWS 支持:SNS、SQS 和 Lambda 作为可能的目标(AWS 内部目标)。目前,我们支持:HTTP/S、Kafka 和 AMQP。
我们使用 SNS ARN 来表示 HTTP/S、Kafka 和 AMQP 目标。
通知配置 XML
不支持以下标签(以及其中的标签)
标签 |
备注 |
|---|---|
|
不需要,我们将所有目标视为 SNS |
|
不需要,我们将所有目标视为 SNS |
REST API 扩展
Ceph 的存储桶通知 API 具有以下扩展
使用
DELETE动词删除特定通知,或删除存储桶上的所有通知在 S3 中,删除存储桶时或在存储桶上设置空通知时,所有通知都会被删除。
获取特定通知的信息(当存储桶上存在多个通知时)
在 S3 中,只能获取存储桶上的所有通知。
除了基于对象键前缀/后缀的过滤之外,我们还支持
基于正则表达式匹配的过滤
基于附加到对象的元数据属性的过滤
基于对象标签的过滤
每个附加过滤器都会扩展 S3 API,使用它将需要扩展客户端 SDK(除非您使用纯 HTTP)。
允许过滤重叠,因此同一事件可以作为不同的通知发送。
事件记录中不支持的字段
为存储桶通知发送的记录遵循 事件消息结构 中描述的格式。但是,requestParameters.sourceIPAddress 字段将为空。
事件类型
事件 |
注意 |
|---|---|
|
已支持 |
|
已支持 |
|
已支持 |
|
已支持 |
|
已支持 |
|
已支持 |
|
已支持 |
|
已支持 |
|
Ceph 扩展 |
|
Ceph 扩展 |
|
Ceph 扩展 |
|
Ceph 扩展 |
|
Ceph 扩展 |
|
Ceph 扩展 |
|
支持。等效于 s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated |
|
支持。等效于 s3:ObjectLifecycle:Expiration:Current |
|
支持。等效于 s3:ObjectLifecycle:Expiration:DeleteMarker |
|
支持。等效于 s3:ObjectLifecycle:Transition:Current |
|
Ceph 扩展 |
|
Ceph 扩展 |
|
Ceph 扩展 |
|
已定义,Ceph 扩展(未生成) |
|
支持。等效于 s3:ObjectSynced:Create, s3:ObjectSynced:Delete |
|
支持。等效于 s3:ObjectSynced:Create |
|
支持。等效于 s3:ObjectSynced:Delete |
|
已定义,支持(未生成) |
|
已支持 |
|
已支持 |
|
已支持 |
|
已支持 |
|
不适用 |
注意
s3:ObjectRemoved:DeleteMarkerCreated 事件提供有关对象最新版本的信息。
注意
在分段上传的情况下,ObjectCreated:CompleteMultipartUpload 通知将在流程结束时发送。
注意
s3:ObjectSynced:Create 事件在对象成功同步到区域时发送。必须为每个区域显式设置它。
主题配置
在存储桶通知的情况下,主题管理 API 将派生自 AWS Simple Notification Service API。请注意,大多数 API 不适用于 Ceph,仅实现了以下操作
CreateTopicDeleteTopicListTopics
我们还有以下主题配置扩展
在
GetTopic中,我们允许获取特定主题,而不是所有用户主题。在
CreateTopic中我们允许设置端点属性。
我们允许设置不透明数据,这些数据将发送到通知中的端点。