本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用扩AWS AppConfig deployment events to Amazon SNS
展
该AWS AppConfig deployment events to Amazon SNS
扩展程序是 AWS 编写的扩展,可帮助您监控 AWS AppConfig 配置部署工作流程并对其采取行动。每当部署配置时,扩展程序都会SNS向 Amazon 主题发布消息。将扩展程序与您的一个 AWS AppConfig 应用程序、环境或配置文件关联后,在每次配置部署开始、结束和回滚之后,都会向该主题 AWS AppConfig 发布一条消息。
如果您想更好地控制哪些操作点会发送亚马逊SNS通知,则可以创建自定义扩展,并在该URI字段中输入亚马逊SNS主题亚马逊资源名称 (ARN)。有关创建扩展程序的信息,请参阅 演练:创建自定义扩展 AWS AppConfig。
使用扩展程序
本节介绍如何使用 AWS AppConfig deployment events to Amazon SNS
扩展程序。
步骤 1:配置 AWS AppConfig 为向主题发布消息
在您的 Amazon SNS 主题中添加访问控制策略,授予 AWS AppConfig
(appconfig.amazonaws.com
) 发布权限 (sns:Publish
)。有关更多信息,请参阅 Amazon SNS 访问控制的示例案例。
步骤 2:创建扩展程序关联
通过创建扩展关联,将扩展附加到您的一个 AWS AppConfig 资源。您可以使用 AWS AppConfig 控制台或CreateExtensionAssociationAPI操作创建关联。创建关联时,您可以指定 AWS AppConfig 应用程序、环境或配置文件的。ARN如果将扩展程序关联到应用程序或环境,则会针对指定应用程序或环境中包含的任何配置文件发送通知。创建关联时,必须为包含要使用的亚马逊SNS主题ARN的topicArn
参数输入一个值。
创建关联后,部署指定 AWS AppConfig 资源的配置时,会 AWS AppConfig 调用该扩展程序并根据扩展中指定的操作点发送通知。
注意
此扩展程序由以下操作点调用:
-
ON_DEPLOYMENT_START
-
ON_DEPLOYMENT_COMPLETE
-
ON_DEPLOYMENT_ROLLED_BACK
您无法自定义此扩展程序的操作点。若要调用不同的操作点,可以创建自己的扩展程序。有关更多信息,请参阅 演练:创建自定义扩展 AWS AppConfig。
使用以下过程通过 AWS Systems Manager 控制台或控制台创建 AWS AppConfig 扩展关联 AWS CLI。
创建扩展程序关联(控制台)
在 https://console.aws.amazon.com/systems-manager/appconfig
/上打开 AWS Systems Manager 控制台。 -
在导航窗格中,选择 AWS AppConfig。
-
在 扩展程序 选项卡上,选择 添加到资源。
-
在扩展资源详细信息部分的资源类型中,选择一种 AWS AppConfig 资源类型。根据您选择的资源, AWS AppConfig 会提示您选择其他资源。
-
选择创建与资源的关联。
以下是调用扩展程序时发送到 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" } } }