配置 Snow 系列设备上与 Amazon S3 兼容的存储事件通知 - AWS Snowball Edge 开发者指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 Snow 系列设备上与 Amazon S3 兼容的存储事件通知

Snow Family 设备上与 Amazon S3 兼容的存储支持基于消息队列遥测传输 (MQTT) 协议的对象API调用的 Amazon S3 事件通知。

您可以在 Snow 系列设备上使用与 Amazon S3 兼容的存储,以便在您的 S3 存储桶中发生特定事件时接收通知。要启用通知,请添加一个通知配置,该配置标识您希望服务发布的事件。

Snow 系列设备上与 Amazon S3 兼容的存储支持以下通知类型:

  • 新的对象创建事件

  • 对象移除事件

  • 对象标记事件

配置 Amazon S3 事件通知
  1. 在开始之前,您的网络中必须有MQTT基础架构。

  2. 在您的 Snowball Edge 客户端中,运行 snowballEdge configure 命令来设置 Snowball Edge 设备。

    当系统提示时,请输入以下信息:

    • 清单文件的路径。

    • 设备的解锁代码。

    • 设备的终端节点(例如,https://10.0.0.1).

  3. 运行以下 put-notification-configuration 命令来向外部代理发送通知。

    snowballEdge put-notification-configuration --broker-endpoint ssl://mqtt-broker-ip-address:8883 --enabled true --service-id s3-snow --ca-certificate file:path-to-mqtt-broker-ca-cert
  4. 运行以下 get-notification-configuration 命令来验证所有内容的设置是否正确:

    snowballEdge get-notification-configuration --service-id s3-snow

    此操作将返回代理端点和已启用字段。

将整个集群配置为向网络中的MQTT代理发送通知后,每个对象API调用都将生成事件通知。

注意

你需要订阅主题 s3SnowEvents/Device ID (或 Cluster Id 如果是集群)/bucketName。你也可以使用通配符,例如主题名称可以是 # 或者 s3SnowEvents/#.

以下是 Snow 系列设备上与 Amazon S3 兼容的存储的事件日志示例:

{ "eventDetails": { "additionalEventData": { "AuthenticationMethod": "AuthHeader", "CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256", "SignatureVersion": "SigV4", "bytesTransferredIn": 1205, "bytesTransferredOut": 0, "x-amz-id-2": "uLdTfvdGTKlX6TBgCZtDd9Beef8wzUurA+Wpht7rKtfdaNsnxeLILg==" }, "eventName": "PutObject", "eventTime": "2023-01-30T14:13:24.772Z", "requestAuthLatencyMillis": 40, "requestBandwidthKBs": 35, "requestID": "140CD93455CB62B4", "requestLatencyMillis": 77, "requestLockLatencyNanos": 1169953, "requestParameters": { "Content-Length": "1205", "Content-MD5": "GZdTUOhYHvHgQgmaw2gl4w==", "Host": "10.0.2.251", "bucketName": "buckett", "key": "file-key" }, "requestTTFBLatencyMillis": 77, "responseElements": { "ETag": ""19975350e8581ef1e042099ac36825e3"", "Server": "AmazonS3", "x-amz-id-2": "uLdTfvdGTKlX6TBgCZtDd9Beef8wzUurA+Wpht7rKtfdaNsnxeLILg==", "x-amz-request-id": "140CD93455CB62B4" }, "responseStatusCode": 200, "sourceIPAddress": "172.31.37.21", "userAgent": "aws-cli/1.27.23 Python/3.7.16 Linux/4.14.301-224.520.amzn2.x86_64 botocore/1.29.23", "userIdentity": { "identityType": "IAMUser", "principalId": "531520547609", "arn": "arn:aws:iam::531520547609:root", "userName": "root" } } }

有关 Amazon S3 事件通知的更多信息,请参阅 Amazon S3 事件通知