EvaluationSpec

EvaluationSpec enthält Regeln zum Auswerten des Werts eines Flags.

JSON-Darstellung
{
  "variants": [
    {
      object (Variant)
    }
  ],
  "defaultTarget": string,
  "allocations": [
    {
      object (Allocation)
    }
  ],
  "rules": [
    {
      object (EvaluationRule)
    }
  ],
  "attributes": [
    string
  ]
}
Felder
variants[]
(deprecated)

object (Variant)

Optional. Eine Liste von Varianten.

defaultTarget

string

Erforderlich. Standardvariante oder ‑zuweisung des Flags.

allocations[]

object (Allocation)

Optional. Eine Liste der Zuweisungen.

rules[]

object (EvaluationRule)

Optional. Mit Bewertungsregeln wird die Logik für die Bewertung des Flags anhand eines bestimmten Kontexts definiert. Die Regeln werden sequenziell in der angegebenen Reihenfolge ausgewertet.

attributes[]

string

Optional. Namen der Kontextattribute, die in den Bewertungsregeln und Zuweisungen verwendet werden.

Variante

Eine Variante ist ein Bezeichner für einen Wert (einem Wert zugewiesener Name). VERALTET: Verwenden Sie stattdessen Flag.Variants.

JSON-Darstellung
{
  "name": string,

  // Union field value can be only one of the following:
  "boolValue": boolean,
  "intValue": string,
  "stringValue": string,
  "doubleValue": number
  // End of list of possible types for union field value.
}
Felder
name

string

Erforderlich. Name der Variante. Maximale Länge: 128 Bytes.

Union-Feld value. „value“ ist ein einzelner Flag-Wert für die Variante. Für value ist nur einer der folgenden Werte zulässig:
boolValue

boolean

Optional. Boolescher Flag-Wert.

intValue

string (int64 format)

Optional. Ganzzahliger Flag-Wert.

stringValue

string

Optional. String-Flag-Wert.

doubleValue

number

Optional. Doppelter Flag-Wert.

Zuordnung

Bei der Zuweisung wird eine Reihe von gewichteten Flag-Varianten definiert, die angeben, wie der Traffic basierend auf der Randomisierungseinheit aufgeteilt wird.

JSON-Darstellung
{
  "id": string,
  "randomizedOn": string,
  "description": string,
  "slots": [
    {
      object (AllocationSlot)
    }
  ]
}
Felder
id

string

Erforderlich. Zuweisungs-ID. Maximale Länge: 128 Bytes.

randomizedOn

string

Erforderlich. Schlüssel des Kontextattributs, das für die Traffic-Aufteilung verwendet wird.

description

string

Optional. Beschreibung der Zuweisung. Maximale Länge: 500 Bytes.

slots[]

object (AllocationSlot)

Erforderlich. Mit „Slots“ wird die gewichtete Verteilung von Varianten definiert.

AllocationSlot

AllocationSlot gibt eine Variante und den ihr zugewiesenen Anteil des Traffics an.

JSON-Darstellung
{
  "variant": string,
  "weight": integer
}
Felder
variant

string

Erforderlich. Variante des Zuweisungsslots.

weight

integer

Erforderlich. Mit der Gewichtung wird der Anteil des Traffics festgelegt, der der Variante zugewiesen werden soll, im Verhältnis zu anderen Slots in derselben Zuweisung.

EvaluationRule

EvaluationRule definiert eine einzelne Regel zum Auswerten eines Funktions-Flags. Eine Regel besteht aus einer Bedingung, die, wenn sie erfüllt ist, dem Nutzer eine bestimmte Variante oder Zuweisung zuweist.

JSON-Darstellung
{
  "id": string,
  "condition": string,
  "target": string
}
Felder
id

string

Erforderlich. ID der Bewertungsregel. Maximale Länge: 128 Bytes.

condition

string

Erforderlich. Ein CEL-Ausdruck (Common Expression Language), der als boolescher Wert ausgewertet wird. Der Ausdruck wird anhand des bereitgestellten Kontexts ausgewertet. Wenn „true“ zurückgegeben wird, wird das Ziel der Regel angewendet.

target

string

Erforderlich. Die Zielvariante oder Zuweisung, die angewendet werden soll, wenn die Bedingung erfüllt ist. Er muss mit der ID einer definierten Variante oder Zuweisung übereinstimmen.