

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

# 使用 AWS AppConfig 部署事件至 Amazon SNS 延伸模組
<a name="working-with-appconfig-extensions-about-predefined-notification-sns"></a>

`AWS AppConfig deployment events to Amazon SNS` 延伸模組是 AWS 撰寫的延伸模組，可協助您監控 AWS AppConfig 組態部署工作流程並對其採取行動。延伸項目會在部署組態時，將訊息發佈至 Amazon SNS 主題。將延伸項目與其中一個 AWS AppConfig 應用程式、環境或組態設定檔建立關聯後， 會在每次組態部署開始、結束和轉返之後，發佈 AWS AppConfig 訊息至主題。

如果您想要進一步控制哪些動作點傳送 Amazon SNS 通知，您可以建立自訂擴充功能，並為 URI 欄位輸入 Amazon SNS 主題 Amazon Resource Name (ARN)。如需建立擴充功能的資訊，請參閱 [逐步解說：建立自訂 AWS AppConfig 擴充功能](working-with-appconfig-extensions-creating-custom.md)。

## 使用 延伸模組
<a name="working-with-appconfig-extensions-about-predefined-notification-sns-using"></a>

本節說明如何使用 `AWS AppConfig deployment events to Amazon SNS`延伸模組。

**步驟 1：設定 AWS AppConfig 將訊息發佈至主題**  
將存取控制政策新增至授予 (`appconfig.amazonaws.com`) 發佈許可的 Amazon SNS 主題 AWS AppConfig ()`sns:Publish`。如需詳細資訊，請參閱 [Amazon SNS 存取控制的範例案例](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html)。

**步驟 2：建立延伸模組關聯**  
透過建立延伸關聯，將延伸項目連接至您的其中一個 AWS AppConfig 資源。您可以使用 AWS AppConfig 主控台或 [CreateExtensionAssociation](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateExtensionAssociation.html) API 動作來建立關聯。建立關聯時，您可以指定 AWS AppConfig 應用程式、環境或組態描述檔的 ARN。如果您將延伸項目與應用程式或環境建立關聯，則會針對指定應用程式或環境中包含的任何組態設定檔傳送通知。建立關聯時，您必須輸入 `topicArn` 參數的值，其中包含您要使用的 Amazon SNS 主題的 ARN。

建立關聯之後，部署指定 AWS AppConfig 資源的組態時， 會 AWS AppConfig 叫用延伸，並根據延伸模組中指定的動作點傳送通知。

**注意**  
下列動作點會叫用此擴充功能：  
`ON_DEPLOYMENT_START`
`ON_DEPLOYMENT_COMPLETE`
`ON_DEPLOYMENT_ROLLED_BACK`
您無法自訂此延伸模組的動作點。若要叫用不同的動作點，您可以建立自己的延伸。如需詳細資訊，請參閱[逐步解說：建立自訂 AWS AppConfig 擴充功能](working-with-appconfig-extensions-creating-custom.md)。

使用下列程序，透過主控台 AWS Systems Manager 或 建立 AWS AppConfig 延伸關聯 AWS CLI。

**建立延伸關聯 （主控台）**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **AWS AppConfig**。

1. 在**延伸項目**索引標籤上，選擇**新增至資源**。

1. 在**延伸資源詳細資訊**區段中，針對**資源類型**選擇 AWS AppConfig 資源類型。根據您選擇的資源， 會 AWS AppConfig 提示您選擇其他資源。

1. 選擇**建立與資源的關聯**。

以下是呼叫延伸模組時傳送至 Amazon SNS 主題的訊息範例。

```
{
    "Type": "Notification",
    "MessageId": "ae9d702f-9a66-51b3-8586-2b17932a9f28",
    "TopicArn": "arn:aws:sns:us-east-1:111122223333:MySNSTopic",
    "Message": {
        "InvocationId": "7itcaxp",
        "Parameters": {
            "topicArn": "arn:aws:sns:us-east-1:111122223333:MySNSTopic"
        },
        "Application": {
            "Id": "1a2b3c4d",
            "Name": MyApp
        },
        "Environment": {
            "Id": "1a2b3c4d",
            "Name": MyEnv
        },
        "ConfigurationProfile": {
            "Id": "1a2b3c4d",
            "Name": "MyConfigProfile"
        },
        "Description": null,
        "DeploymentNumber": "3",
        "ConfigurationVersion": "1",
        "Type": "OnDeploymentComplete"
    },
    "Timestamp": "2022-06-30T20:26:52.067Z",
    "SignatureVersion": "1",
    "Signature": "<...>",
    "SigningCertURL": "<...>",
    "UnsubscribeURL": "<...>",
    "MessageAttributes": {
        "MessageType": {
            "Type": "String",
            "Value": "OnDeploymentStart"
        }
    }
}
```