Definieren von Regeln für Feature-Flags 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.

Definieren von Regeln für Feature-Flags mit mehreren Varianten

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, z. B. „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 Description Beispiel

Zeichenfolge

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

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

Ganzzahl

Ein 64-Bit-Ganzzahlwert.

-7, 42

Gleitkommazahl

Ein 64-Bit-IEEE-754-Gleitkommawert.

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

und

Ermittelt, ob beide Operanden wahr sind.

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

oder

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

Berechnet bis true für einen bestimmten Prozentsatz des Datenverkehrs auf der Grundlage eines konsistenten Hashwerts der angegebenen Kontextwerte. Eine ausführliche Erläuterung der split Funktionsweise finden Sie im nächsten Abschnitt dieses Themas,Den Split-Operator verstehen.

Beachten Sie, dass seed es sich um eine optionale Eigenschaft handelt. Wenn Sie nichts angebenseed, ist der Hash lokal konsistent, was bedeutet, dass der Verkehr für dieses Flag konsistent aufgeteilt wird, aber andere Flags, die denselben Kontextwert erhalten, den Verkehr möglicherweise anders aufteilen. Wenn angegeben, seed wird garantiert, dass jeder eindeutige Wert den Datenverkehr konsistent auf Feature-Flags, Konfigurationsprofile und aufteilt AWS-Konten.

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