S3 - AWS IoT Core

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

S3

S3 (s3) 動作會從 MQTT 訊息將資料寫入 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

要求

此規則動作具有下列需求:

參數

使用此動作建立 AWS IoT 規則時,必須指定下列資訊:

bucket

要寫入資料的 Amazon S3 儲存貯體。

支援替代範本:API 且 AWS CLI 僅支援

cannedacl

(選用) Amazon S3 固定的 ACL,負責控制物件金鑰辨識出之物件的存取權限。如需詳細資訊 (包含允許的值),請參閱固定 ACL

支援替代範本:否

key

寫入資料的檔案路徑。

考慮一個範例,其中此參數為 ${topic()}/${timestamp()},且規則會收到主題為 some/topic 訊息。若目前的時間戳記為 1460685389,則此動作會將資料寫入在 S3 儲存貯體 some/topic 資料夾中名為 1460685389 的檔案。

注意

如果您使用靜態索引鍵,則會在每次規則呼叫時 AWS IoT 覆寫單一檔案。我們建議您使用訊息時間戳記或另一個唯一的訊息識別符,以便每一個收到的訊息都會將新檔案儲存於 Amazon S3 中。

支援替代範本:是

roleArn

允許存取 Amazon S3 儲存貯體的 IAM 角色。如需詳細資訊,請參閱 要求

支援替代範本:否

範例

下列 JSON 範例會定義 AWS IoT 規則中的 S3 動作。

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "s3": { "bucketName": "my-bucket", "cannedacl": "public-read", "key": "${topic()}/${timestamp()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_s3" } } ] } }

另請參閱