EvaluationSpec

EvaluationSpec contiene reglas para evaluar el valor de una marca.

Representación JSON
{
  "variants": [
    {
      object (Variant)
    }
  ],
  "defaultTarget": string,
  "allocations": [
    {
      object (Allocation)
    }
  ],
  "rules": [
    {
      object (EvaluationRule)
    }
  ],
  "attributes": [
    string
  ]
}
Campos
variants[]
(deprecated)

object (Variant)

Es opcional. Es una lista de variantes.

defaultTarget

string

Obligatorio. Es la variante o asignación predeterminada de la marca.

allocations[]

object (Allocation)

Es opcional. Es una lista de asignaciones.

rules[]

object (EvaluationRule)

Es opcional. Las reglas de evaluación definen la lógica para evaluar la marca en un contexto determinado. Las reglas se evalúan de forma secuencial en el orden especificado.

attributes[]

string

Es opcional. Son los nombres de los atributos de contexto que se usan en las reglas de evaluación y las asignaciones.

Variant

Variant es un identificador de un valor (nombre asignado a un valor). OBSOLETO: En su lugar, usa Flag.Variants.

Representación 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.
}
Campos
name

string

Obligatorio. Es el nombre de la variante. Longitud máxima: 128 bytes.

Campo de unión value. value es un valor de marca único para la variante. value puede ser solo uno de los parámetros siguientes:
boolValue

boolean

Es opcional. Es el valor booleano de la marca.

intValue

string (int64 format)

Es opcional. Es el valor entero de la marca.

stringValue

string

Es opcional. Es el valor de cadena de la marca.

doubleValue

number

Es opcional. Es el valor doble de la marca.

Allocation

Allocation define un conjunto de variantes de marcas ponderadas y especifica cómo se divide el tráfico según la unidad de aleatorización.

Representación JSON
{
  "id": string,
  "randomizedOn": string,
  "description": string,
  "slots": [
    {
      object (AllocationSlot)
    }
  ]
}
Campos
id

string

Obligatorio. Es el ID de asignación. Longitud máxima: 128 bytes.

randomizedOn

string

Obligatorio. Es la clave del atributo de contexto que se usa para la división del tráfico.

description

string

Es opcional. Es la descripción de la asignación. Longitud máxima: 500 bytes.

slots[]

object (AllocationSlot)

Obligatorio. Slots define la distribución ponderada de las variantes.

AllocationSlot

AllocationSlot especifica una variante y la proporción de tráfico que se le asigna.

Representación JSON
{
  "variant": string,
  "weight": integer
}
Campos
variant

string

Obligatorio. Es la variante del espacio de asignación.

weight

integer

Obligatorio. Weight define la proporción de tráfico que se asignará a la variante, en relación con otros espacios en la misma asignación.

EvaluationRule

EvaluationRule define una sola regla para evaluar una marca de función. Una regla consta de una condición que, si se cumple, asigna una variante o asignación específica al usuario.

Representación JSON
{
  "id": string,
  "condition": string,
  "target": string
}
Campos
id

string

Obligatorio. Es el ID de la regla de evaluación. Longitud máxima: 128 bytes.

condition

string

Obligatorio. Es una expresión de Common Expression Language (CEL) que se evalúa como un valor booleano. La expresión se evalúa en función del contexto proporcionado. Si muestra el valor true, se aplica el destino de la regla.

target

string

Obligatorio. Es la variante o asignación de destino que se aplicará si se cumple la condición. Debe coincidir con el nombre de una variante definida o el ID de asignación.