

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 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 主題成功訊息傳遞狀態。 Amazon SQS 
+ `SQSSuccessFeedbackSampleRate` – 訂閱 Amazon SQS 端點的 Amazon SNS 主題範例成功訊息的百分比。 Amazon SQS 
+ `SQSFailureFeedbackRoleArn` – 訂閱 Amazon SQS 端點之 Amazon SNS 主題的訊息傳遞狀態失敗。 Amazon SQS 

平台應用程式端點的日誌會寫入與其他端點相同的 CloudWatch Logs 群組。

**注意**  
 `<ENDPOINT>SuccessFeedbackRoleArn` 和 `<ENDPOINT>FailureFeedbackRoleArn` 屬性是用來提供 Amazon SNS 寫入存取權，以代表您使用 CloudWatch Logs。`<ENDPOINT>SuccessFeedbackSampleRate` 屬性用於指定成功傳送訊息的取樣率百分比 (0-100)。在您設定 `<ENDPOINT>FailureFeedbackRoleArn` 屬性後，則所有傳送失敗的訊息都會產生 CloudWatch Logs。