翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 Simple Storage Service デベロッパーガイド」のAWS 「 マネージド AWS KMS keys およびカスタマーマネージド AWS KMS keys」を参照してください。
パラメータ
このアクションを使用して AWS IoT ルールを作成するときは、次の情報を指定する必要があります。
bucket
-
データの書き込み先として指定する Amazon S3 バケット。
置換テンプレートをサポート: API および AWS CLI のみ
cannedacl
-
(オプション) オブジェクトキーによって識別されるオブジェクトへのアクセスをコントロールする Amazon S3 既定 ACL。使用できる値などの詳細については、既定 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 とは?