Descripción de las reglas de marca de características con múltiples variantes - AWS AppConfig

Descripción de las reglas de marca de características con múltiples variantes

Al crear una variante de marca de características, debe especificar una regla para ella. Las reglas son expresiones que toman valores de contexto como entrada y producen un resultado booleano como salida. Por ejemplo, puede definir una regla para seleccionar una variante de marca para los usuarios de la versión beta, identificados por su ID de cuenta, para probar una actualización de la interfaz de usuario. En esta situación, haga lo siguiente:

  1. Cree un nuevo perfil de configuración de marca de características denominado UI Refresh.

  2. Cree una nueva marca de características denominada ui_refresh.

  3. Edite la marca de características después de crearla para añadir variantes.

  4. Cree y habilite una nueva variante denominada BetaUsers.

  5. Defina una regla para BetaUsers que seleccione la variante si el ID de cuenta del contexto de la solicitud figura en una lista de ID de cuenta aprobados para ver la nueva experiencia beta.

  6. Confirme que el estado de la variante predeterminada sea deshabilitado.

nota

Las variantes se evalúan como una lista ordenada en función del orden en que están definidas en la consola. La variante que aparece en la parte superior de la lista se evalúa en primer lugar. Si ninguna regla coincide con el contexto proporcionado, AWS AppConfig devuelve la variante predeterminada.

Cuando AWS AppConfig procesa la solicitud de marca de características, compara primero el contexto proporcionado, que incluye AccountID (por ejemplo), con la variante BetaUsers. Si el contexto coincide con la regla de BetaUsers, AWS AppConfig devuelve los datos de configuración de la experiencia beta. Si el contexto no incluye un ID de cuenta o si el ID de cuenta termina en un número distinto de 123, AWS AppConfig devuelve los datos de configuración de la regla predeterminada, lo que significa que el usuario ve la experiencia actual en producción.

Definición de reglas de

Una regla de variante es una expresión compuesta por uno o más operandos y un operador. Un operando es un valor específico que se utiliza durante la evaluación de una regla. Los valores de los operandos pueden ser estáticos, como un número literal o una cadena, o variables, como el valor encontrado en un contexto o el resultado de otra expresión. Un operador, como mayor que, es una prueba o acción que se aplica a sus operandos y que produce un valor. Para que sea válida, una expresión de regla de variante debe mostrar un valor verdadero o falso.

Operandos

Tipo Descripción Ejemplo

Cadena

Secuencia de caracteres UTF-8 entre comillas dobles.

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

Entero

Valor entero de 64 bits.

-7, 42

Flotante

Valor de coma flotante de 64 bits según la norma IEEE 754.

3.14, 1.234e-5

Timestamp

Un momento específico en el tiempo, tal como se describe en los formatos de fecha y hora de la notación W3C.

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

Booleano

Valor verdadero o falso.

true, false

Valor de contexto

Valor parametrizado en forma de $key que se recupera del contexto durante la evaluación de la regla.

$country, $userId

Operadores de comparación

Operador Descripción Ejemplo

eq

Determina si un valor de contexto es igual a un valor dado.

(eq $state "Virginia")

gt

Determina si un valor de contexto es mayor que un valor dado.

(gt $age 65)

gte

Determina si un valor de contexto es mayor que un valor dado o igual a él.

(gte $age 65)

lt

Determina si un valor de contexto es menor que un valor dado.

(lt $age 65)

lte

Determina si un valor de contexto es menor que un valor dado o igual a él.

(lte $age 65)

Logical operators (Operadores lógicos)

Operador Descripción Ejemplo

y

Determina si ambos operandos son verdaderos.

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

o

Determina si al menos uno de los operandos es verdadero.

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

no

Invierte el valor de una expresión.

(not (eq $state "Virginia"))

Operadores personalizados

Operador Descripción Ejemplo

begins_with

Determina si un valor de contexto comienza con un prefijo determinado.

(begins_with $state "A")

ends_with

Determina si un valor de contexto acaba con un prefijo determinado.

(ends_with $email "amazon.com")

contains

Determina si un valor de contexto contiene una subcadena determinada.

(contains $promoCode "WIN")

in

Determina si un valor de contexto está incluida en una lista de constantes.

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

matches

Determina si un valor de contexto coincide con un patrón de expresiones regulares determinado.

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

exists

Determina si se ha proporcionado algún valor para una clave de contexto.

(exists key:"country")

dividir

Evalúa como true un porcentaje de tráfico determinado en función de un hash coherente de los valores de contexto proporcionados.

Tenga en cuenta que seed es una propiedad opcional. Si no lo especifica seed, el hash es coherente a nivel local, lo que significa que el tráfico se dividirá de forma coherente para esa marca, pero otras marcas que reciban el mismo valor de contexto pueden dividir el tráfico de forma diferente. Si se proporciona seed, se garantiza que cada valor único dividirá el tráfico de forma coherente entre las marcas de características, los perfiles de configuración y las Cuentas de AWS.

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