

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

# AWS SDKs를 사용하여 전송 상태 로깅 구성
<a name="msg-status-sdk"></a>

 AWS SDKs는 메시지 전송 상태 로깅을 위한 주제 속성을 설정하기 위해 여러 언어로 APIs를 제공합니다. 예를 들어 [SetTopicAttributes](https://docs.aws.amazon.com/sns/latest/api/API_SetTopicAttributes.html) API를 사용하여 다음을 구성합니다.
+ `LambdaSuccessFeedbackRoleArn` - Lambda 엔드포인트로 메시지를 성공적으로 전송하기 위한 IAM 역할입니다.
+ `LambdaSuccessFeedbackSampleRate` - Lambda 엔드포인트에 대한 성공적인 메시지의 샘플링 비율입니다.
+ `LambdaFailureFeedbackRoleArn` - Lambda 엔드포인트로 실패한 메시지 전송을 위한 IAM 역할입니다.

**예제 AWS CLI 명령**

```
aws sns set-topic-attributes \
    --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \
    --attribute-name LambdaSuccessFeedbackRoleArn \
    --attribute-value arn:aws:iam::123456789012:role/MyFeedbackRole
```

## 주제 속성
<a name="topic-attributes"></a>

메시지 전송 상태를 위해 다음 주제 속성 이름 값을 사용합니다.

**HTTP**
+ `HTTPSuccessFeedbackRoleArn` - HTTP 엔드포인트를 구독하는 Amazon SNS 주제에 대해 성공한 메시지 전송 상태입니다.
+ `HTTPSuccessFeedbackSampleRate` - HTTP 엔드포인트를 구독하는 Amazon SNS 주제에 대해 샘플링할 성공한 메시지의 비율입니다.
+ `HTTPFailureFeedbackRoleArn` - HTTP 엔드포인트를 구독하는 Amazon SNS 주제에 대해 실패한 메시지 전송 상태입니다.

**Amazon Data Firehose**
+ `FirehoseSuccessFeedbackRoleArn` - Amazon Data Firehose 엔드포인트를 구독하는 Amazon SNS 주제에 대해 성공한 메시지 전송 상태입니다.
+ `FirehoseSuccessFeedbackSampleRate` - Amazon Data Firehose 엔드포인트를 구독하는 Amazon SNS 주제에 대해 샘플링할 성공한 메시지의 비율입니다.
+ `FirehoseFailureFeedbackRoleArn` - Amazon Data Firehose 엔드포인트를 구독하는 Amazon SNS 주제에 대해 실패한 메시지 전송 상태입니다.

**AWS Lambda**
+ `LambdaSuccessFeedbackRoleArn` - Lambda 엔드포인트를 구독하는 Amazon SNS 주제에 대해 성공한 메시지 전송 상태입니다.
+ `LambdaSuccessFeedbackSampleRate` - Lambda 엔드포인트를 구독하는 Amazon SNS 주제에 대해 샘플링할 성공한 메시지의 비율입니다.
+ `LambdaFailureFeedbackRoleArn` - Lambda 엔드포인트를 구독하는 Amazon SNS 주제에 대해 실패한 메시지 전송 상태입니다.

**플랫폼 애플리케이션 엔드포인트**
+ `ApplicationSuccessFeedbackRoleArn` - AWS 애플리케이션 엔드포인트를 구독하는 Amazon SNS 주제에 대한 성공적인 메시지 전송 상태입니다.
+ `ApplicationSuccessFeedbackSampleRate` - AWS 애플리케이션 엔드포인트를 구독하는 Amazon SNS 주제에 대해 샘플링할 성공한 메시지의 비율입니다.
+ `ApplicationFailureFeedbackRoleArn` - AWS 애플리케이션 엔드포인트를 구독하는 Amazon SNS 주제에 대한 메시지 전송 실패 상태입니다.
**참고**  
또한 전송 상태를 푸시 알림 서비스에 직접 로깅하도록 애플리케이션 속성을 구성할 수 있습니다. 자세한 정보는 [메시지 전송 상태를 위한 Amazon SNS 애플리케이션 속성 사용](https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html)을 참조하세요.

** Amazon SQS**
+ `SQSSuccessFeedbackRoleArn` – Amazon SQS 엔드포인트를 구독하는 Amazon SNS 주제에 대해 성공한 메시지 전송 상태입니다.
+ `SQSSuccessFeedbackSampleRate` – Amazon SQS 엔드포인트를 구독하는 Amazon SNS 주제에 대해 샘플링할 성공한 메시지의 비율입니다.
+ `SQSFailureFeedbackRoleArn` – Amazon SQS 엔드포인트를 구독하는 Amazon SNS 주제에 대해 실패한 메시지 전송 상태입니다.

플랫폼 애플리케이션 엔드포인트에 대한 로그는 다른 엔드포인트와 동일한 CloudWatch Logs 그룹에 기록됩니다.

**참고**  
 `<ENDPOINT>SuccessFeedbackRoleArn` 및 `<ENDPOINT>FailureFeedbackRoleArn` 속성은 사용자 대신 CloudWatch Logs를 사용할 수 있는 쓰기 액세스 권한을 Amazon SNS에 부여하는 데 사용됩니다. `<ENDPOINT>SuccessFeedbackSampleRate` 속성은 성공적으로 전송된 메시지의 샘플 비율(0-100)을 지정할 때 사용됩니다. `<ENDPOINT>FailureFeedbackRoleArn` 속성을 구성하고 나면, 메시지의 전송 실패가 CloudWatch Logs를 생성합니다.