

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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

S3(`s3`) 작업은 MQTT 메시지의 데이터를 Amazon Simple Storage Service(Amazon S3) 버킷에 기록합니다.

## 요구 사항
<a name="s3-rule-action-requirements"></a>

이 규칙 작업은 다음 요구 사항을 충족해야 합니다.
+ `s3:PutObject` 작업을 수행하기 위해가 맡을 AWS IoT 수 있는 IAM 역할입니다. 자세한 내용은 [AWS IoT 규칙에 필요한 액세스 권한 부여](iot-create-role.md) 단원을 참조하십시오.

   AWS IoT 콘솔에서가이 규칙 작업을 수행하도록 허용하는 역할을 선택하거나 생성할 수 AWS IoT 있습니다.
+  AWS KMS customermanaged를 사용하여 Amazon S3의 저장 데이터를 암호화하는 경우 호출자를 대신하여 AWS KMS key 를 AWS KMS key 사용할 수 있는 권한이 서비스에 있어야 합니다. 자세한 내용은 *Amazon Simple Storage Service 개발자 안내서*의 [AWS 관리형 AWS 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`라는 파일에 데이터를 씁니다.  
정적 키를 사용하는 경우는 규칙이 호출할 때마다 단일 파일을 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/)