

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 基本およびマルチバリアント機能フラグの取得
<a name="appconfig-integration-retrieving-feature-flags"></a>

機能フラグ設定 (タイプ の設定`AWS.AppConfig.FeatureFlags`) の場合、 AWS AppConfig エージェントを使用すると、設定内の単一のフラグまたはフラグのサブセットを取得できます。設定プロファイルからいくつかのフラグのみを使用する必要があるユースケースの場合、1 つまたは 2 つのフラグを取得すると便利です。次の例では cURL を使用しています。

**注記**  
設定で単一の機能フラグまたはフラグのサブセットを呼び出す機能は、 AWS AppConfig エージェントバージョン 2.0.45 以降でのみ使用できます。

ローカル HTTP エンドポイントから AWS AppConfig 設定データを取得できます。特定のフラグまたはフラグのリストにアクセスするには、`?flag={{FLAG_KEY}}` 設定プロファイルの AWS AppConfig クエリパラメータを使用します。

**1 つのフラグとその属性を取得するには**

```
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/ja_jp/appconfig/latest/userguide/images/flag-variant-example.png)


**注記**  
フラグバリアントを取得するには、コンピューティング環境で最新バージョンの AWS AppConfig エージェントを使用する必要があります。詳細については、以下の各コンピューティング環境のエージェントを更新、インストール、または追加する方法を説明する以下のトピックを参照してください。  
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\_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 (Example Organization の品質保証テスター) の発信者コンテキストを使用してフラグデータを取得するには:**

```
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}
}
```