翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
S3
S3 (s3
) アクションは、MQTTメッセージから Amazon Simple Storage Service (Amazon S3) バケットにデータを書き込みます。
要件
このルールアクションには、以下の要件があります。
-
オペレーションを実行するために が引き受け AWS IoT ることができる IAMロール
s3:PutObject
。詳細については、「AWS IoT ルールに必要なアクセス許可の付与」を参照してください。AWS IoT コンソールでは、 がこのルールアクションを実行することを許可 AWS IoT するロールを選択または作成できます。
-
AWS KMS カスタマーマネージド を使用して Amazon S3 AWS KMS key に保管中のデータを暗号化する場合、サービスには発信者に代わって を使用する AWS KMS key アクセス許可が必要です。 Amazon S3 詳細については、「Amazon Simple Storage Service デベロッパーガイド」の「 マネージドAWSAWS KMS keys 」と「カスタマーマネージド AWS KMS keys」を参照してください。
パラメータ
このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。
bucket
-
データの書き込み先として指定する Amazon S3 バケット。
置換テンプレートをサポート: APIおよび AWS CLI のみ
cannedacl
-
(オプション) オブジェクトキーによって識別ACLされるオブジェクトへのアクセスを制御する Amazon S3 既定。許可された値を含む詳細については、「既定 ACL」を参照してください。
置換テンプレートをサポート: いいえ
key
-
データの書き込み先として指定するファイルのパス。
このパラメータが
${topic()}/${timestamp()}
であり、トピックがsome/topic
であるメッセージをルールが受信する例を考えてください。現在のタイムスタンプが1460685389
の場合、このアクションはデータを S3 バケットのsome/topic
フォルダの1460685389
というファイルに書き込みます。注記
静的キーを使用する場合、 はルールが呼び出されるたびに 1 つのファイルを 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": "amzn-s3-demo-bucket", "cannedacl": "public-read", "key": "${topic()}/${timestamp()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_s3" } } ] } }
関連情報
-
Amazon Simple Storage Service デベロッパーガイドの Amazon S3 とは?