在 Amazon AppConfig 中创建功能标志和自由格式配置数据 - Amazon AppConfig
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 Amazon AppConfig 中创建功能标志和自由格式配置数据

本节中的主题有助于您在 Amazon AppConfig 中完成以下任务。这些任务用于创建部署配置数据所需的重要构件。

1. 创建应用程序命名空间

要创建应用程序命名空间,需要创建一个名为应用程序的 Amazon AppConfig 构件。应用程序只是一个像文件夹一样的组织构造。

2. 创建环境

对于每个 Amazon AppConfig 应用程序,您可以定义一个或多个环境。环境是 Amazon AppConfig 目标的逻辑部署组,例如 BetaProduction 环境中的应用程序。您也可以为应用程序子组件定义环境,例如 Amazon Lambda functionsContainersWebMobileBack-end

您可以为每个环境配置 Amazon CloudWatch 警报,以自动回滚有问题的配置更改。系统在部署配置期间监控警报。如果触发警报,系统将回滚配置。

3. 创建配置文件

配置数据 是一组会影响应用程序行为的设置。配置文件 包含一个 URI 和一个配置类型,其中 URI 可使 Amazon AppConfig 在相应的存储位置找到配置数据。Amazon AppConfig 支持两种类型的配置文件:

  • 功能标志:可以使用功能标志来启用或禁用应用程序中的功能,或者使用标志属性配置应用程序功能的不同特征。Amazon AppConfig 以功能标志格式将功能标志配置存储在 Amazon AppConfig 托管配置存储中,而该格式包含有关标志和标志属性的数据和元数据。功能标志配置的 URI 就是 hosted

  • 自由格式配置:自由格式配置可以将数据存储在以下任何服务和功能中:

    • Amazon AppConfig 托管配置存储

    • Amazon Simple Storage Service

    • Amazon CodePipeline

    • Amazon Secrets Manager

    • Amazon Systems Manager (SSM) Parameter Store

    • SSM 文档存储

注意

如果可能,我们建议将配置数据托管在 Amazon AppConfig 托管配置存储中,因为它提供了最多的功能和增强功能。

4. (可选,但建议执行)Create multi-variant feature flags

Amazon AppConfig 提供基本功能标志,这些标志(如果启用)会为每个请求返回一组特定的配置数据。为了更好地支持用户细分和流量拆分使用案例,Amazon AppConfig 还提供了多变体功能标志,这些标志使您可以定义要针对请求返回的一组可能的标志值。还可以为多变体标志配置不同的状态(已启用或已禁用)。当请求配置了变体的标志时,应用程序会提供上下文,Amazon AppConfig 将根据一组用户定义的规则来评估此上下文。根据在请求中指定的上下文和为变体定义的规则,Amazon AppConfig 向应用程序返回不同的标志值。

下一节包括功能标志和自由格式配置数据示例。

功能标志配置数据

以下功能标志配置数据可按区域启用或禁用移动支付和默认付款方式。

JSON
{ "allow_mobile_payments": { "enabled": false }, "default_payments_per_region": { "enabled": true } }
YAML
--- allow_mobile_payments: enabled: false default_payments_per_region: enabled: true

操作配置数据

以下自由格式配置数据对应用程序处理请求的方式施加了限制。

JSON
{ "throttle-limits": { "enabled": "true", "throttles": [ { "simultaneous_connections": 12 }, { "tps_maximum": 5000 } ], "limit-background-tasks": [ true ] } }
YAML
--- throttle-limits: enabled: 'true' throttles: - simultaneous_connections: 12 - tps_maximum: 5000 limit-background-tasks: - true

访问控制列表配置数据

以下访问控制列表自由格式配置数据指定了哪些用户或组可以访问应用程序。

JSON
{ "allow-list": { "enabled": "true", "cohorts": [ { "internal_employees": true }, { "beta_group": false }, { "recent_new_customers": false }, { "user_name": "Jane_Doe" }, { "user_name": "John_Doe" } ] } }
YAML
--- allow-list: enabled: 'true' cohorts: - internal_employees: true - beta_group: false - recent_new_customers: false - user_name: Jane_Doe - user_name: Ashok_Kumar