

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

# オーディエンスルールの作成
<a name="appconfig-experimentation-about-specifying-audience-rule-section"></a>

**対象者ルール**セクションには、実験の対象者をターゲットにするルールを作成するための**ルールビルダー**タブと**エディタ**タブが含まれています。

**Topics**
+ [オーディエンスルールビルダーの使用](#appconfig-experimentation-about-specifying-audience-rule-builder)
+ [エディタの使用](#appconfig-experimentation-about-specifying-audience-editor)

## オーディエンスルールビルダーの使用
<a name="appconfig-experimentation-about-specifying-audience-rule-builder"></a>

ルールビルダーは、式を記述せずに対象者ターゲットルールを定義するためのビジュアルインターフェイスを提供します。属性を使用して条件を作成し、論理演算子と組み合わせて、実験に含めるユーザーを制御できます。ルールビルダーでは、条件とグループを組み合わせてルールを定義します。
+ 条件は 1 つの属性 ( など`$plan equals "enterprise"`) を評価します。
+ グループは、 `AND`や などの論理演算子を使用して複数の条件を組み合わせます`OR`。

各グループは、 `true`または のいずれかに評価されます`false`。ルール全体に一致するユーザーは、ターゲットオーディエンスに含まれます。

次の場合は、ルールビルダーを使用します。
+ 式を記述せずにオーディエンスルールをすばやく定義または変更する
+ 条件のグループ化と評価方法を視覚化する
+ ターゲットロジックを段階的に構築して検証する

次に例を示します。

**プレミアムアカウント階層のユーザーをターゲットにするためのルール。**

![サンプルオーディエンスルールを指定して AWS AppConfig 実験中のルールビルダータブのイメージ。](http://docs.aws.amazon.com/ja_jp/appconfig/latest/userguide/images/experimentation-rule-builder-1.png)


**特定の E メールドメインを使用して、特定の地理的リージョンのユーザーをターゲットにするためのルール。**

![サンプルオーディエンスルールを指定して AWS AppConfig 実験中の Rule Builder タブの 2 番目のイメージ。](http://docs.aws.amazon.com/ja_jp/appconfig/latest/userguide/images/experimentation-rule-builder-2.png)


**ベータプログラムをオプトインしている間に、特定のプランで特定のユーザーをターゲットにしたり、セカンダリプランを使用したりするためのルール。**

![サンプルオーディエンスルールを指定して AWS AppConfig 実験中の Rule Builder タブの 3 番目のイメージ。](http://docs.aws.amazon.com/ja_jp/appconfig/latest/userguide/images/experimentation-rule-builder-3.png)


**エディタとの関係**

ルールビルダーとエディタは、異なる形式で同じターゲットロジックを定義します。
+ ルールビルダーは、ルールを視覚的に構築する方法を提供します。
+ エディタには、同等の論理式が表示されます。

一方のビューで行われた変更は、もう一方のビューに反映されます。

**ベストプラクティス**
+ ルールを読み取り可能にする – グループを使用して条件を論理的に整理し、深くネストされた構造を回避します。
+ 属性値の検証 – 属性名と値がアプリケーションによって提供された値と一致することを確認します。
+ 公開前にテスト — 0% の公開と処理の割り当てオーバーライドを使用して、ルールが期待どおりに動作することを確認します。

## エディタの使用
<a name="appconfig-experimentation-about-specifying-audience-editor"></a>

エディタを使用すると、実験に含めるユーザーを決定するターゲティングルールを定義できます。これらのルールは、プラットフォーム、リージョン、アプリケーションバージョンなどのユーザーまたはデバイスの属性を評価する論理式として指定します。実験が実行されると、 は各ユーザーの式 AWS AppConfig を評価します。基準に一致するユーザーはターゲットオーディエンスに含まれ、処理に割り当てることができます。

**式形式**

式はプレフィックス (関数スタイル) 構文を使用します。

```
(operator argument1 argument2 ...)
```

例えば、次のようになります。

```
(and
    (eq $system "iPhone")
    (lt $osVersion 1.8)
)
```

この式には、次のユーザーが含まれます。
+ iPhone を使用する
+ オペレーティングシステムのバージョンが 1.8 より前である

エディタは、ルールビルダーと同じターゲットシナリオをサポートします。オーディエンスルールの視覚的な例については、「」を参照してください[オーディエンスルールビルダーの使用](#appconfig-experimentation-about-specifying-audience-rule-builder)。

**属性の定義**

属性は、評価対象のユーザーまたは環境のプロパティを表します。属性は`$`プレフィックスで参照されます。

一般的な例としては次のようなものがあります。
+ `$system` – デバイスまたはプラットフォームタイプ
+ `$osVersion` – オペレーティングシステムのバージョン
+ `$region` – 地理的リージョン
+ `$appVersion` – アプリケーションバージョン

使用可能な属性は、アプリケーションとデータの受け渡し方法によって異なります AWS AppConfig。

**式の記述**

論理演算子を使用して複数の条件を組み合わせることができます。
+ を使用して`and`、すべての条件が満たされるように要求する
+ を使用して任意の条件`or`を照合する
+ を使用して条件を除外`not`する

例:

```
(and
    (eq $region "us-east-1")
    (or
        (eq $system "iPhone")
        (eq $system "Android")
    )
)
```

この式は、iPhone または Android デバイスを使用している `us-east-1` のユーザーを対象としています。

**ベストプラクティス**
+ シンプルな開始 – 小さな条件から始めて、必要に応じて展開します。
+ 属性の検証 – 式で使用される属性が一貫して入力されていることを確認します。
+ 過度に複雑な表現を避ける – 複雑なロジックでは、ターゲットの理解と維持が困難になる可能性があります。
+ 公開前にテスト — 0% の公開と処理の割り当てオーバーライドを使用して、ルールが期待どおりに動作することを確認します。

**式演算子**

オーディエンス式では、次の演算子がサポートされています。

論理演算子



| 演算子 | 説明 | 例 | 
| --- | --- | --- | 
| と | すべての条件が true の場合に true を返します | `(and (eq $region "us") (eq $system "iPhone"))` | 
| または | 条件が true の場合は true を返します | `(or (eq $system "iPhone") (eq $system "Android"))` | 
| not | 条件が false の場合、true を返します。 | `(not (eq $region "eu-west-1"))` | 

比較演算子



| 演算子 | 説明 | 例 | 
| --- | --- | --- | 
| eq | Equals | `(eq $system "iPhone")` | 
| ne | 等しくない | `(ne $region "us-west-2")` | 
| lt | Less than | `(lt $osVersion 1.8)` | 
| lte | Less than or equal | `(lte $osVersion 2.0)` | 
| gt | Greater than | `(gt $appVersion 5.0)` | 
| gte | Greater than or equal | `(gte $appVersion 5.0)` | 

文字列演算子と集合演算子



| 演算子 | 説明 | 例 | 
| --- | --- | --- | 
| 情報 | リスト内の任意の値に一致 | `(in $region ["us-east-1" "us-west-2"])` | 
| contains | 値に部分文字列が含まれているかどうかを確認します | `(contains $deviceName "iPhone")` | 

**注記**  
使用可能な演算子は、アプリケーションで属性が定義および評価される方法によって異なります。