マルチバリアント機能フラグルールについて
機能フラグバリアントを作成するときは、そのバリアントのルールを指定します。ルールは、コンテキスト値を入力として受け取り、ブール値を出力として生成する式です。例えば、アカウント ID で識別されるベータユーザーのフラグバリアントを選択するルールを定義して、ユーザーインターフェイスの更新をテストできます。このシナリオでは、次の操作を行います。
-
UI Refresh という新しい機能フラグ設定プロファイルを作成します。
-
ui_refresh という新しい機能フラグを作成します。
-
バリアントを追加するには、作成後に機能フラグを編集します。
-
BetaUsers という新しいバリアントを作成して有効にします。
-
リクエストコンテキストのアカウント ID が、新しいベータエクスペリエンスの表示が承認されたアカウント ID のリストにある場合にバリアントを選択する BetaUsers のルールを定義します。
-
デフォルトのバリアントのステータスが無効に設定されていることを確認します。
注記
バリアントは、コンソールで定義されている順序に基づいて順序付きリストとして評価されます。リストの先頭にあるバリアントが最初に評価されます。指定されたコンテキストに一致するルールがない場合、AWS AppConfig はデフォルトバリアントを返します。
AWS AppConfig が機能フラグリクエストを処理する場合、最初に、指定されたコンテキスト (この例では AccountID を含む) を BetaUsers バリアントと比較します。コンテキストが BetaUsers のルールと一致する場合、AWS AppConfig はベータエクスペリエンスの設定データを返します。コンテキストにアカウント ID が含まれていない場合、またはアカウント ID が 123 以外で終わる場合、AWS AppConfig はデフォルトルールの設定データを返します。つまり、ユーザーには本番環境の現在のエクスペリエンスが表示されます。
ルールの定義
バリアントルールは、1 つ以上のオペランドと演算子で構成される式です。オペランドは、ルールの評価中に使用される特定の値です。オペランド値は、リテラル数値や文字列などの静的値、またはコンテキストで見つかった値や別の式の結果などの変数のいずれかにすることができます。「より大きい」などの演算子は、値を生成するオペランドに適用されるテストまたはアクションです。バリアントルール式を有効にするには、「true」または「false」のいずれかを生成する必要があります。
オペランド
型 | 説明 | 例 |
---|---|---|
文字列 |
UTF-8 文字のシーケンス。二重引用符で囲まれています。 |
|
整数 |
64 ビットの整数値。 |
|
浮動小数点数 |
64 ビットの IEEE-754 浮動小数点値。 |
|
タイムスタンプ |
日付と時刻の形式に関する W3C ノート |
|
ブール値 |
true または false 値。 |
|
コンテキスト値 |
ルール評価中にコンテキストから取得される $ |
|
比較演算子
演算子 | 説明 | 例 |
---|---|---|
eq |
コンテキスト値が指定された値と等しいかどうかを判断します。 |
|
gt |
コンテキスト値が指定された値より大きいかどうかを判断します。 |
|
gte |
コンテキスト値が指定された値以上かどうかを判断します。 |
|
lt |
コンテキスト値が指定された値よりも小さいかどうかを判断します。 |
|
lte |
コンテキスト値が指定された値以下かどうかを判断します。 |
|
論理演算子
演算子 | 説明 | 例 |
---|---|---|
また、 |
両方のオペランドが true かどうかを判断します。 |
|
または |
少なくとも 1 つのオペランドが true かどうかを判断します。 |
|
not |
式の値を反転します。 |
|
カスタム演算子
演算子 | 説明 | 例 |
---|---|---|
begins_with |
コンテキスト値が特定のプレフィックスで始まるかどうかを判断します。 |
|
ends_with |
コンテキスト値が特定のプレフィックスで終わるかどうかを判断します。 |
|
contains |
コンテキスト値に特定の部分文字列が含まれているかどうかを判断します。 |
|
in |
コンテキスト値が定数のリストに含まれるかどうかを判断します。 |
|
matches |
コンテキスト値が特定の正規表現パターンと一致するかどうかを判断します。 |
|
exists |
コンテキストキーに値が提供されたかどうかを判断します。 |
|
split |
指定されたコンテキスト値の一貫したハッシュ (複数可) に基づいて、トラフィックの特定の割合について
|
|