EvaluationSpec

EvaluationSpec contiene le regole per valutare il valore di un flag.

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

object (Variant)

Facoltativo. Un elenco di varianti.

defaultTarget

string

Obbligatorio. Variante o allocazione predefinita del flag.

allocations[]

object (Allocation)

Facoltativo. Un elenco di allocazioni.

rules[]

object (EvaluationRule)

Facoltativo. Le regole di valutazione definiscono la logica per valutare il flag in base a un determinato contesto. Le regole vengono valutate in sequenza nell'ordine specificato.

attributes[]

string

Facoltativo. Nomi degli attributi di contesto utilizzati nelle regole di valutazione e nelle allocazioni.

Variante

La variante è un identificatore per un valore (nome assegnato a un valore). DEPRECATO: utilizza Flag.Variants.

Rappresentazione JSON
{
  "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.
}
Campi
name

string

Obbligatorio. Nome della variante. Lunghezza massima: 128 byte.

Campo unione value. value è un singolo valore del flag per la variante. value può essere solo uno dei seguenti tipi:
boolValue

boolean

Facoltativo. Valore del flag booleano.

intValue

string (int64 format)

Facoltativo. Valore del flag intero.

stringValue

string

Facoltativo. Valore flag stringa.

doubleValue

number

Facoltativo. Valore flag doppio.

Allocazione

L'allocazione definisce un insieme di varianti di flag ponderate, specificando come viene suddiviso il traffico in base all'unità di randomizzazione.

Rappresentazione JSON
{
  "id": string,
  "randomizedOn": string,
  "description": string,
  "slots": [
    {
      object (AllocationSlot)
    }
  ]
}
Campi
id

string

Obbligatorio. ID allocazione. Lunghezza massima: 128 byte.

randomizedOn

string

Obbligatorio. Chiave dell'attributo di contesto utilizzato per la suddivisione del traffico.

description

string

Facoltativo. Descrizione dell'assegnazione. Lunghezza massima: 500 byte.

slots[]

object (AllocationSlot)

Obbligatorio. Gli slot definiscono la distribuzione ponderata delle varianti.

AllocationSlot

AllocationSlot specifica una variante e la proporzione di traffico allocata.

Rappresentazione JSON
{
  "variant": string,
  "weight": integer
}
Campi
variant

string

Obbligatorio. Variante dello slot di allocazione.

weight

integer

Obbligatorio. La ponderazione definisce la proporzione di traffico da allocare alla variante, rispetto agli altri slot della stessa allocazione.

EvaluationRule

EvaluationRule definisce una singola regola per la valutazione di un flag funzionalità. Una regola è costituita da una condizione che, se soddisfatta, assegna all'utente una variante o un'allocazione specifica.

Rappresentazione JSON
{
  "id": string,
  "condition": string,
  "target": string
}
Campi
id

string

Obbligatorio. ID regola di valutazione. Lunghezza massima: 128 byte.

condition

string

Obbligatorio. Un'espressione Common Expression Language (CEL) che restituisce un valore booleano. L'espressione viene valutata in base al contesto fornito. Se restituisce true, viene applicato il target della regola.

target

string

Obbligatorio. La variante di destinazione o l'allocazione da applicare se la condizione è soddisfatta. Deve corrispondere al nome di una variante definita o all'ID dell'allocazione.