

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 检索基本和多变体功能标志
<a name="appconfig-integration-retrieving-feature-flags"></a>

对于功能标志配置（类型的配置`AWS.AppConfig.FeatureFlags`）， AWS AppConfig 代理允许您检索配置中的单个标志或标志子集。如果使用案例只需要使用配置文件中的几个标志，则检索一个或两个标志非常有用。以下示例使用 cURL。

**注意**  
在配置中调用单个功能标志或标志子集的功能仅在 A AWS AppConfig gent 版本 2.0.45 及更高版本中可用。

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

**检索单个标志及其属性**

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

**检索多个标志及其属性**

```
curl "http://localhost:2772/applications/APPLICATION_NAME/environments/ENVIRONMENT_NAME/configurations/CONFIGURATION_NAME?flag=FLAG_KEY_ONE&flag=FLAG_KEY_TWO"
```

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

以下 cURL 示例展示了如何根据调用者上下文检索功能标志变量。为最佳说明如何进行这些调用，本节使用基于以下场景的示例调用：客户创建了类似于以下内容的变量：

![\[带有变体的功能标志的屏幕截图示例。\]](http://docs.aws.amazon.com/zh_cn/appconfig/latest/userguide/images/flag-variant-example.png)


**注意**  
要检索标志变体，必须在计算环境中使用最新版本的 AWS AppConfig Agent。有关更多信息，请参阅以下主题，这些主题介绍如何为以下每种计算环境更新、安装或添加代理：  
对于 Lambda 计算环境：[添加 AWS AppConfig 代理 Lambda 扩展](appconfig-integration-lambda-extensions-add.md)
对于 Amazon EC2 计算环境：[步骤 2：（必需）在 Amazon EC2 实例上安装和启动 AWS AppConfig 代理](appconfig-integration-ec2.md#appconfig-integration-ec2-installing)
对于 Amazon ECS 计算环境：[启动 Amazon ECS 集成 AWS AppConfig 代理](appconfig-integration-containers-agent-starting-ecs.md)
对于 Amazon EKS 计算环境：[启动 Amazon EKS 集成 AWS AppConfig 代理](appconfig-integration-containers-agent-starting-eks.md)

**使用 jane\$1doe@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\$1doe@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\$1doe@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}
}
```