

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

# 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 が生成されます。