了解 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、或调用扩展API操作来使用这些扩展SDK。

扩展程序 描述

Amazon CloudWatch 显然是 A/B 测试

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

AWS AppConfig 部署事件到 EventBridge

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

AWS AppConfig 将事件部署到亚马逊简单通知服务 (AmazonSNS)

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

AWS AppConfig 将事件部署到亚马逊简单队列服务 (AmazonSQS)

部署配置后,此扩展程序会将消息排队到您的 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 调用该扩展(如果适用)。

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

注意

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

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

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