

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

# S3
<a name="s3-rule-action"></a>

S3 (`s3`) アクションは、MQTT メッセージのデータを Amazon Simple Storage Service (Amazon S3) バケットに書き込みます。

## 要件
<a name="s3-rule-action-requirements"></a>

このルールアクションには、以下の要件があります。
+ オペレーションを実行するために が引き受け AWS IoT ることができる IAM ロール`s3:PutObject`。詳細については、「[必要なアクセスを AWS IoT ルールに付与する](iot-create-role.md)」を参照してください。

   AWS IoT コンソールで、このルールアクションを実行することを に許可 AWS IoT するロールを選択または作成できます。
+  AWS KMS カスタマーマネージド を使用して Amazon S3 AWS KMS key に保管中のデータを暗号化する場合、サービスには発信者に代わって AWS KMS key を使用するアクセス許可が必要です。詳細については、*「Amazon Simple Storage Service デベロッパーガイド*」の「マネージド[AWSAWS KMS keys 」と「カスタマーマネージド AWS KMS keys](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#aws-managed-customer-managed-cmks)」を参照してください。

## パラメータ
<a name="s3-rule-action-parameters"></a>

このアクションを使用して AWS IoT ルールを作成するときは、次の情報を指定する必要があります。

`bucket`  
データの書き込み先として指定する Amazon S3 バケット。  
[置換テンプレート](iot-substitution-templates.md)をサポート: API および AWS CLI のみ

`cannedacl`  
(オプション) オブジェクトキーによって識別されるオブジェクトへのアクセスをコントロールする Amazon S3 既定 ACL。使用できる値などの詳細については、[既定 ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) を参照してください (許可値の一覧が記載されています)。  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ

`key`  
データの書き込み先として指定するファイルのパス。  
このパラメータが `${topic()}/${timestamp()}` であり、トピックが `some/topic` であるメッセージをルールが受信する例を考えてください。現在のタイムスタンプが `1460685389` の場合、このアクションはデータを S3 バケットの `some/topic` フォルダの `1460685389` というファイルに書き込みます。  
静的キーを使用する場合、 はルールが呼び出されるたびに 1 つのファイルを AWS IoT 上書きします。受信したメッセージごとに新しいファイルが Amazon S3 に保存されるように、メッセージのタイムスタンプまたは別の一意のメッセージ識別子を使用することをお勧めします。
[置換テンプレート](iot-substitution-templates.md)をサポート: はい

`roleArn`  
Amazon S3 バケットへのアクセスを許可する IAM ロール。詳細については、「[要件](#s3-rule-action-requirements)」を参照してください。  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ

## 例
<a name="s3-rule-action-examples"></a>

次の 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"
                }
            }
        ]
    }
}
```

## 関連情報
<a name="s3-rule-action-see-also"></a>
+ *Amazon Simple Storage Service デベロッパーガイド*の[ Amazon S3 とは?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)