

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

# 在 Snowball Edge 事件通知上設定 Amazon S3 相容儲存
<a name="s3-snow-event-notifications"></a>

Snowball Edge 上的 Amazon S3 相容儲存支援根據訊息佇列遙測傳輸 (MQTT) 通訊協定進行物件 API 呼叫的 Amazon S3 事件通知。

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

Snowball Edge 上的 Amazon S3 相容儲存支援下列通知類型：
+ 新物件建立的事件
+ 物件移除事件
+ 物件標記事件

**設定 Amazon S3 事件通知**

1. 開始之前，您的網路中必須有 MQTT 基礎設施。

1. 在 Snowball Edge 用戶端中，執行 `snowballEdge configure`命令來設定 Snowball Edge 裝置。

   出現提示時，請輸入下列資訊：
   + 資訊清單檔案的路徑。
   + 裝置解鎖碼。
   + 裝置端點 （例如 *https://10.0.0.1*)。

1. 執行下列`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
   ```

1. 執行下列`get-notification-configuration`命令以確認一切設定正確：

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

   這會傳回代理程式端點和啟用的欄位。

將整個叢集設定為傳送通知到網路中的 MQTT 代理程式之後，每個物件 API 呼叫都會產生事件通知。

**注意**  
您需要訂閱主題 s3SnowEvents/*Device ID* （如果是*叢集*，則為叢集 ID)/bucketName。您也可以使用萬用字元，例如主題名稱可以是 *\$1* 或 *s3SnowEvents/\$1*。

以下是 Snowball Edge 事件日誌上 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": "bucket",
            "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 事件通知](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html)。