S3 - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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" } } ] } }

関連情報