了解 AWS AppConfig 扩展 - AWS AppConfig

了解 AWS AppConfig 扩展

本主题介绍 AWS AppConfig 扩展程序的概念和术语。该信息在设置和使用 AWS AppConfig 扩展程序所需的每个步骤的上下文中进行讨论。

第 1 步:确定要对扩展程序执行哪些操作

是否希望在 AWS AppConfig 部署完成时收到向 Slack 发送消息的 Webhook 通知? 您是否希望在部署配置之前将配置文件备份到 Amazon Simple Storage Service (Amazon S3) 存储桶? 是否要在部署配置之前清理配置数据中的敏感信息? 您可以使用扩展程序来执行这些类型的任务以及更多任务。您可以创建自定义扩展程序或使用 AWS AppConfig 附带的 AWS 创作扩展程序。

注意

对于大多数用例,要创建自定义扩展程序,必须创建一个 AWS Lambda 函数来执行扩展程序中定义的任何计算和处理。有关更多信息,请参阅 演练:创建自定义 AWS AppConfig 扩展程序

以下 AWS 创作的扩展程序可帮助您快速将配置部署与其他服务集成。您可以在 AWS AppConfig 控制台中使用这些扩展程序,也可以直接从 AWS CLI、AWS Tools for PowerShell 或 SDK 调用扩展 API 操作来使用这些扩展程序。

扩展程序 描述

Amazon CloudWatch Evidently A/B 测试

此扩展程序允许您的应用程序在本地为用户会话分配变体,而不是调用 EvaluateFeature 操作。有关更多信息,请参阅 使用 Amazon CloudWatch Evidently 扩展

将事件 AWS AppConfig 个部署到 EventBridge

部署配置时,此扩展程序会将事件发送到 EventBridge 默认事件总线。

AWS AppConfig部署事件至 Amazon Simple Notification Service (Amazon SNS)

此扩展程序将消息发送到您在部署配置时指定的 Amazon SNS 主题。

AWS AppConfig 部署事件至 Amazon Simple Queue Service (Amazon SQS)

部署配置时,此扩展程序会将消息排入 Amazon SQS 队列的队列中。

集成扩展程序 - Atlassian Jira

此扩展程序允许 AWS AppConfig 在对功能标志进行更改时创建和更新问题。

步骤 2:确定扩展程序的运行时间

扩展程序定义它在 AWS AppConfig 工作流期间执行的一个或多个操作。例如,AWS 编写的 AWS AppConfig deployment events to Amazon SNS 扩展程序包含向 Amazon SNS 主题发送通知的操作。当您与 AWS AppConfig 交互或 AWS AppConfig 代表您执行进程时,都会调用每个操作。这些称为操作点。 AWS AppConfig 扩展程序支持以下操作点:

  • PRE_CREATE_HOSTED_CONFIGURATION_VERSION

  • PRE_START_DEPLOYMENT

  • ON_DEPLOYMENT_START

  • ON_DEPLOYMENT_STEP

  • ON_DEPLOYMENT_BAKING

  • ON_DEPLOYMENT_COMPLETE

  • ON_DEPLOYMENT_ROLLED_BACK

PRE_* 操作点上配置的扩展程序操作在请求验证之后应用,但在 AWS AppConfig 执行与操作点名称对应的活动之前应用。这些操作调用与请求同时处理。如果发出多个请求,则操作调用将按顺序运行。另请注意,PRE_* 操作点接收并可以更改配置的内容。 PRE_* 操作点还可以响应错误并防止操作发生。

通过使用 ON_* 操作点,扩展程序还可以与 AWS AppConfig 工作流并行运行。 ON_* 操作点是异步调用的。 ON_* 操作点不接收配置的内容。如果扩展程序在 ON_* 操作点期间遇到错误,服务将忽略该错误并继续工作流。

步骤 3:创建扩展程序关联

若要创建扩展程序或配置 AWS 创作的扩展程序,请定义在使用特定 AWS AppConfig 资源时调用扩展程序的操作点。例如,您可以选择运行 AWS AppConfig deployment events to Amazon SNS 扩展程序,并在为特定应用程序启动配置部署时接收有关 Amazon SNS 主题的通知。定义哪些操作点调用特定 AWS AppConfig 资源的扩展称为扩展程序关联。扩展关联是一项扩展与 AWS AppConfig 资源(例如应用程序或配置文件)之间的指定关系。

单个 AWS AppConfig 应用程序可以包含多个环境和配置文件。如果将某个扩展程序关联到某个应用程序或环境,则 AWS AppConfig 将对与该应用程序或环境资源(视情况而定)相关的任何工作流调用该扩展程序。

例如,假设您有一个名为 MobileApps 的 AWS AppConfig 应用程序,其中包含一个名为 AccessList 的配置文件。假设 MobileApps 应用程序包括 Beta、集成和生产环境。您可以为 AWS 编写的 Amazon SNS 通知扩展程序创建扩展程序关联,并将该扩展程序关联到 MobileApps 应用程序。每当将应用程序的配置部署到三个环境中的任何一个时,都会调用 Amazon SNS 通知扩展程序。

注意

您不必创建扩展程序即可使用 AWS 创作的扩展程序,但必须创建扩展程序关联。

步骤 4:部署配置并验证是否执行了扩展程序操作

创建关联后,在创建托管配置或部署配置时,AWS AppConfig 将调用扩展程序并执行指定的操作。调用扩展程序时,如果系统在 PRE-* 操作点期间遇到错误,则 AWS AppConfig 将返回有关该错误的信息。