在 Snow Family 裝置事件通知上設定 Amazon S3 相容儲存 - AWS Snowball Edge 開發人員指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Snow Family 裝置事件通知上設定 Amazon S3 相容儲存

Snow Family 裝置上的 Amazon S3 相容儲存體支援根據 Message Queuing Telemetry Transport (MQTT) 通訊協定進行物件API呼叫的 Amazon S3 事件通知。

您可以在 Snow Family 裝置上使用與 Amazon S3 相容的儲存體,在 S3 儲存貯體中發生特定事件時接收通知。若要啟用通知,請新增通知組態,以識別您希望服務發佈的事件。

Snow Family 裝置上的 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 Family 裝置事件日誌上 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 事件通知