Grundlegendes zu Feature-Flag-Regeln mit mehreren Varianten - AWS AppConfig

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Grundlegendes zu Feature-Flag-Regeln mit mehreren Varianten

Wenn Sie eine Feature-Flag-Variante erstellen, geben Sie eine Regel für diese an. Regeln sind Ausdrücke, die Kontextwerte als Eingabe verwenden und als Ausgabe ein boolesches Ergebnis erzeugen. Sie könnten beispielsweise eine Regel definieren, um eine Flag-Variante für Beta-Benutzer auszuwählen, die anhand ihrer Konto-ID identifiziert werden, um eine Aktualisierung der Benutzeroberfläche zu testen. Für dieses Szenario gehen Sie wie folgt vor:

  1. Erstellen Sie ein neues Feature-Flag-Konfigurationsprofil mit dem Namen UI Refresh.

  2. Erstellen Sie ein neues Feature-Flag namens ui_refresh.

  3. Bearbeiten Sie das Feature-Flag, nachdem Sie es erstellt haben, um Varianten hinzuzufügen.

  4. Erstellen und aktivieren Sie eine neue Variante namens BetaUsers.

  5. Definieren Sie eine Regel für BetaUsersdie Auswahl der Variante, wenn die Konto-ID aus dem Anforderungskontext in einer Liste von Konten enthalten ist, die für die Nutzung der neuen Beta-Version IDs zugelassen sind.

  6. Vergewissern Sie sich, dass der Status der Standardvariante auf „Deaktiviert“ gesetzt ist.

Anmerkung

Varianten werden anhand der Reihenfolge, in der sie in der Konsole definiert sind, als geordnete Liste bewertet. Die Variante ganz oben in der Liste wird zuerst ausgewertet. Wenn keine Regeln mit dem angegebenen Kontext übereinstimmen, wird die Standardvariante AWS AppConfig zurückgegeben.

Bei AWS AppConfig der Verarbeitung der Feature-Flag-Anforderung wird der angegebene Kontext, der die AccountID (für dieses Beispiel) enthält, zuerst mit der BetaUsers Variante verglichen. Wenn der Kontext der Regel für entspricht BetaUsers, werden die Konfigurationsdaten für das Beta-Erlebnis AWS AppConfig zurückgegeben. Wenn der Kontext keine Konto-ID enthält oder wenn die Konto-ID auf etwas anderes als 123 endet, werden Konfigurationsdaten für die Standardregel AWS AppConfig zurückgegeben, was bedeutet, dass der Benutzer das aktuelle Erlebnis in der Produktionsumgebung aufruft.

Definieren von -Regeln

Eine Variantenregel ist ein Ausdruck, der aus einem oder mehreren Operanden und einem Operator besteht. Ein Operand ist ein bestimmter Wert, der bei der Auswertung einer Regel verwendet wird. Operandenwerte können entweder statisch sein, z. B. eine Literalzahl oder Zeichenfolge, oder variabel, z. B. der in einem Kontext gefundene Wert oder das Ergebnis eines anderen Ausdrucks. Ein Operator wie „größer als“ ist ein Test oder eine Aktion, die auf seine Operanden angewendet wird und einen Wert erzeugt. Ein Variantenregelausdruck muss entweder „wahr“ oder „falsch“ ergeben, um gültig zu sein.

Operanden

Typ Beschreibung Beispiel

String

Eine Folge von UTF -8 Zeichen, eingeschlossen in doppelte Anführungszeichen.

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

Ganzzahl

Ein 64-Bit-Ganzzahlwert.

-7, 42

Gleitkommazahl

Ein 64-Bit-Gleitkommawert von IEEE -754.

3.14, 1.234e-5

Zeitstempel

Ein bestimmter Zeitpunkt, wie in der W3C-Anmerkung zu Datums- und Uhrzeitformaten beschrieben.

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

Boolesch

Ein wahrer oder falscher Wert.

true, false

Kontextwert

Ein parametrisierter Wert in der Form von $key der während der Regelauswertung aus dem Kontext abgerufen wird.

$country, $userId

Vergleichsoperatoren

Operator Beschreibung Beispiel

eq

Ermittelt, ob ein Kontextwert einem bestimmten Wert entspricht.

(eq $state "Virginia")

gt

Ermittelt, ob ein Kontextwert größer als ein bestimmter Wert ist.

(gt $age 65)

gte

Ermittelt, ob ein Kontextwert größer oder gleich einem bestimmten Wert ist.

(gte $age 65)

lt

Ermittelt, ob ein Kontextwert kleiner als ein bestimmter Wert ist.

(lt $age 65)

lte

Ermittelt, ob ein Kontextwert kleiner oder gleich einem bestimmten Wert ist.

(lte $age 65)

Logische Operatoren

Operator Beschreibung Beispiel

and

Ermittelt, ob beide Operanden wahr sind.

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

or

Ermittelt, ob mindestens einer der Operanden wahr ist.

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

not

Kehrt den Wert eines Ausdrucks um.

(not (eq $state "Virginia"))

Benutzerdefinierte Operatoren

Operator Beschreibung Beispiel

Beginnt mit

Bestimmt, ob ein Kontextwert mit einem bestimmten Präfix beginnt.

(begins_with $state "A")

ends_with

Bestimmt, ob ein Kontextwert mit einem bestimmten Präfix endet.

(ends_with $email "amazon.com")

enthält

Ermittelt, ob ein Kontextwert eine bestimmte Teilzeichenfolge enthält.

(contains $promoCode "WIN")

in

Ermittelt, ob ein Kontextwert in einer Liste von Konstanten enthalten ist.

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

Streichhölzer

Ermittelt, ob ein Kontextwert einem bestimmten Regex-Muster entspricht.

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

exists

Ermittelt, ob ein Wert für einen Kontextschlüssel angegeben wurde.

(exists key:"country")

split

Wird für einen bestimmten Prozentsatz des Datenverkehrs auf der Grundlage eines konsistenten Hashwerts der angegebenen Kontextwerte als wahr ausgewertet.

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