Comprendre les règles relatives aux indicateurs de fonctionnalités à variantes multiples - AWS AppConfig

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comprendre les règles relatives aux indicateurs de fonctionnalités à variantes multiples

Lorsque vous créez une variante d'indicateur de fonctionnalité, vous spécifiez une règle pour celle-ci. Les règles sont des expressions qui prennent des valeurs de contexte en entrée et produisent un résultat booléen en sortie. Par exemple, vous pouvez définir une règle pour sélectionner une variante d'indicateur pour les utilisateurs bêta, identifiés par leur identifiant de compte, afin de tester une actualisation de l'interface utilisateur. Pour ce scénario, vous devez effectuer les opérations suivantes :

  1. Créez un nouveau profil de configuration d'indicateur de fonctionnalité appelé UI Refresh.

  2. Créez un nouvel indicateur de fonctionnalité appelé ui_refresh.

  3. Modifiez l'indicateur de fonctionnalité après l'avoir créé pour ajouter des variantes.

  4. Créez et activez une nouvelle variante appelée BetaUsers.

  5. Définissez une règle BetaUsersqui sélectionne la variante si l'identifiant du compte indiqué dans le contexte de la demande figure dans une liste de comptes IDs approuvés pour accéder à la nouvelle expérience bêta.

  6. Vérifiez que le statut de la variante par défaut est défini sur désactivé.

Note

Les variantes sont évaluées sous forme de liste ordonnée en fonction de l'ordre dans lequel elles sont définies dans la console. La variante en haut de la liste est évaluée en premier. Si aucune règle ne correspond au contexte fourni, AWS AppConfig renvoie la variante par défaut.

Lors du AWS AppConfig traitement de la demande d'indicateur de fonctionnalité, il compare le contexte fourni, qui inclut d'abord l'AccountID (pour cet exemple), à BetaUsers la variante. Si le contexte correspond à la règle de BetaUsers, AWS AppConfig renvoie les données de configuration pour l'expérience bêta. Si le contexte n'inclut pas d'identifiant de compte ou si l'identifiant de compte se termine par une valeur autre que 123, AWS AppConfig renvoie les données de configuration pour la règle par défaut, ce qui signifie que l'utilisateur visualise l'expérience actuelle en production.

Définition des règles

Une règle de variante est une expression composée d'un ou de plusieurs opérandes et d'un opérateur. Un opérande est une valeur spécifique utilisée lors de l'évaluation d'une règle. Les valeurs des opérandes peuvent être statiques, telles qu'un nombre littéral ou une chaîne, ou variables, telles que la valeur trouvée dans un contexte ou le résultat d'une autre expression. Un opérateur, tel que « supérieur à », est un test ou une action appliqué à ses opérandes qui produit une valeur. Une expression de règle variante doit produire un « vrai » ou un « faux » pour être valide.

Opérandes

Type Description Exemple

Chaîne

Une séquence de UTF -8 caractères, entre guillemets doubles.

"apple", "Ḽơᶉëᶆ ȋṕšᶙṁ"

Entier

Une valeur entière de 64 bits.

-7, 42

Float

Une valeur à virgule flottante IEEE -754 sur 64 bits.

3.14, 1.234e-5

Horodatage

Un moment précis tel que décrit dans la note du W3C sur les formats de date et d'heure.

2012-03-04T05:06:07-08:00, 2024-01

Booléen

Une valeur vraie ou fausse.

true, false

Valeur contextuelle

Une valeur paramétrée sous forme de $key qui est extrait du contexte lors de l'évaluation des règles.

$country, $userId

Opérateurs de comparaison

Opérateur Description Exemple

eq

Détermine si une valeur de contexte est égale à une valeur donnée.

(eq $state "Virginia")

gt

Détermine si une valeur de contexte est supérieure à une valeur donnée.

(gt $age 65)

gte

Détermine si une valeur de contexte est supérieure ou égale à une valeur donnée.

(gte $age 65)

lt

Détermine si une valeur de contexte est inférieure à une valeur donnée.

(lt $age 65)

lte

Détermine si une valeur de contexte est inférieure ou égale à une valeur donnée.

(lte $age 65)

Opérateurs logiques

Opérateur Description Exemple

and

Détermine si les deux opérandes sont vrais.

(and (eq $state "Virginia") (gt $age 65) )

or

Détermine si au moins un des opérandes est vrai.

(or (eq $state "Virginia") (gt $age 65) )

not

Inverse la valeur d'une expression.

(not (eq $state "Virginia"))

Opérateurs personnalisés

Opérateur Description Exemple

commence_par

Détermine si une valeur de contexte commence par un préfixe donné.

(begins_with $state "A")

se termine_par

Détermine si une valeur de contexte se termine par un préfixe donné.

(ends_with $email "amazon.com")

contient

Détermine si une valeur de contexte contient une sous-chaîne donnée.

(contains $promoCode "WIN")

dans

Détermine si une valeur de contexte est contenue dans une liste de constantes.

(in $userId ["123", "456"])

allumettes

Détermine si une valeur de contexte correspond à un modèle d'expression régulière donné.

(matches in::$greeting pattern::"h.*y")

exists

Détermine si une valeur a été fournie pour une clé de contexte.

(exists key:"country")

split

Est considéré comme vrai pour un pourcentage donné de trafic sur la base d'un hachage cohérent des valeurs contextuelles fournies.

(split pct::10 by::$userId seed::"abc")