检索基本和多变体功能标志 - Amazon AppConfig
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

检索基本和多变体功能标志

对于功能标志配置(类型为 AWS.AppConfig.FeatureFlags 的配置),Amazon AppConfig 代理使您能够检索配置中的单个标志或标志子集。如果使用案例只需要使用配置文件中的几个标志,则检索一个或两个标志非常有用。下面的示例使用了 Python。

注意

在配置中调用单个功能标志或标志子集的功能仅在 Amazon AppConfig 代理版本 2.0.45 及更高版本中可用。

您可以从本地 HTTP 端点检索 Amazon AppConfig 配置数据。要访问特定标志或标志列表,请使用 Amazon AppConfig 配置文件的 ?flag=flag_name 查询参数。

检索单个标志及其属性

curl "http://localhost:2772/applications/APPLICATION_NAME/environments/ENVIRONMENT_NAME/configurations/CONFIGURATION_NAME?flag=FLAG_NAME"

检索多个标志及其属性

curl "http://localhost:2772/applications/APPLICATION_NAME/environments/ENVIRONMENT_NAME/configurations/CONFIGURATION_NAME?flag=FLAG_NAME_ONE&flag=FLAG_NAME_TWO"

根据调用方上下文检索功能标志变体

以下 Python 示例展示了如何根据调用方上下文检索功能标志变体。为了以最佳方式说明如何进行这些调用,本节使用了基于客户创建以下变体的场景进行的示例调用:

带有变体的功能标志的屏幕截图示例。
注意

要检索标志变体,必须在计算环境中使用最新版本的 Amazon AppConfig 代理。有关更多信息,请参阅以下主题,这些主题介绍如何为以下每种计算环境更新、安装或添加代理:

使用 jane_doe@example.org 的调用方上下文检索标志数据(尚未选择加入测试版计划的人员):

curl http://localhost:2772/applications/UIRefresh/environments/Production/configurations/Features \ -H "Context: email=jane_doe@example.org" \ -H "Context: opted_in_to_beta=false" { "ui_refresh": {"_variant":"QA","dark_mode_support":true,"enabled":true} }

使用 jane_doe@example.org 的调用方上下文检索标志数据( 选择加入测试版计划的人员):

curl http://localhost:2772/applications/UIRefresh/environments/Production/configurations/Features \ -H "Context: email=jane_doe@example.org" \ -H "Context: opted_in_to_beta=true" { "ui_refresh": {"_variant":"QA","dark_mode_support":true,"enabled":true} }

使用 jane_doe@qa-testers.example.org 的调用方上下文检索标志数据(此人员是示例组织中的质量保证测试员):

curl http://localhost:2772/applications/UIRefresh/environments/Production/configurations/Features \ -H "Context: email=jane_doe@qa-testers.example.org" { "ui_refresh": {"_variant":"QA","dark_mode_support":true,"enabled":true} }

在没有调用方上下文的情况下检索标志数据(返回默认变体)

curl http://localhost:2772/applications/UIRefresh/environments/Production/configurations/Features { "ui_refresh": {"_variant":"Default Variant","enabled":false} }

检索流量拆分场景的标志数据,以确定 10 个随机调用方中是否有 1 个收到“取样人群”变体

for i in {0..9} do ; \ curl http://localhost:2772/applications/UIRefresh/environments/Production/configurations/Features \ -H "Context: email=$i@example.org" { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Sample Population","dark_mode_support":false,"enabled":true} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} }