Lenguaje de consulta de clúster - Amazon Elastic Container Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Lenguaje de consulta de clúster

Las consultas de clúster son expresiones que le permiten agrupar objetos. Por ejemplo, puede agrupar instancias de contenedor por atributos tales como zona de disponibilidad, tipo de instancia o metadatos personalizados. Para obtener más información, consulte Attributes.

Después de haber definido un grupo de instancias de contenedor, puede personalizar Amazon ECS para ubicar tareas en instancias de contenedor basadas en grupo. Para obtener más información, consulte Ejecución de una tarea independiente y Crear un servicio. También puede aplicar un filtro de grupo al mostrar una lista de instancias de contenedor. Para obtener más información, consulte Filtrado por atributo.

Sintaxis de la expresión

Las expresiones tienen la siguiente sintaxis:

subject operator [argument]

Subject

El atributo o campo que se va a evaluar.

agentConnected

Selecciona instancias de contenedor por el estado de conexión del agente de contenedor de Amazon ECS Puede utilizar este filtro para buscar las instancias cuyos agentes de contenedor están desconectados.

Los operadores válidos son: equals (==), not_equals (!=), in, not_in (!in), matches (=~), not_matches (!~)

agentVersion

Selecciona instancias de contenedor según la versión del agente de contenedor de Amazon ECS Puede utilizar este filtro para encontrar las instancias que ejecutan versiones obsoletas del agente de contenedor de Amazon ECS

Los operadores válidos son: equals (==), not_equals (!=), greater_than (>), greater_than_equal (>=), less_than (<), less_than_equal (<=)

attribute:attribute-name

Selecciona instancias de contenedor según el atributo. Para obtener más información, consulte Attributes.

ec2InstanceId

Selecciona instancias de contenedor por su ID de instancia Amazon EC2

Los operadores válidos son: equals (==), not_equals (!=), in, not_in (!in), matches (=~), not_matches (!~)

registeredAt

Selecciona instancias de contenedor por la fecha de registro de la instancia de contenedor. Puede utilizar este filtro para encontrar las instancias que se acaban de registrar o las instancias que son muy antiguas.

Los operadores válidos son: equals (==), not_equals (!=), greater_than (>), greater_than_equal (>=), less_than (<), less_than_equal (<=)

Los formatos de fecha válidos son: 2018-06-18T22:28:28+00:00, 2018-06-18T22:28:28Z, 2018-06-18T22:28:28, 2018-06-18

runningTasksCount

Selecciona instancias de contenedor según el número de tareas en ejecución. Puede utilizar este filtro para encontrar las instancias que estén vacías o casi vacías (con pocas tareas en ejecución).

Los operadores válidos son: equals (==), not_equals (!=), greater_than (>), greater_than_equal (>=), less_than (<), less_than_equal (<=)

task:group

Selecciona instancias de contenedor según el grupo de tareas. Para obtener más información, consulte Grupos de tareas.

Operator

El operador de comparación. Se admiten los siguientes operadores.

"."

Descripción

==, equals

Igualdad de cadena

!=, not_equals

Desigualdad de cadena

>, greater_than

Mayor que

>=, greater_than_equal

Mayor o igual que

<, less_than

Menor que

<=, less_than_equal

Menor o igual que

exists

El asunto existe

!exists, not_exists

El asunto no existe

in

El valor está en la lista de argumentos

!in, not_in

El valor no está en la lista de argumentos

=~, matches

Coincidencia de patrón

!~, not_matches

No hay coincidencia de patrón

nota

Una expresión única no puede contener paréntesis. Sin embargo, se pueden utilizar paréntesis para especificar la prioridad en las expresiones compuestas.

Argument

Para muchos operadores, el argumento es un valor literal.

Los operadores in y not_in esperan una lista de argumentos como argumento. Una lista de argumentos se especifica del siguiente modo:

[argument1, argument2, ..., argumentN]

Los operadores matches y not_matches esperan un argumento que se ajuste a la sintaxis de la expresión regular Java. Para obtener más información, consulte java.util.regex.Pattern.

Expresiones compuestas

Puede combinar expresiones utilizando los siguientes operadores booleanos:

  • &&, y

  • ||, o bien

  • !, not

Puede especificar prioridad utilizando paréntesis:

(expression1 or expression2) and expression3

Expresiones de ejemplo

A continuación se incluyen expresiones de ejemplo.

Ejemplo: igualdad de cadena

La expresión siguiente selecciona las instancias con el tipo de instancia especificado.

attribute:ecs.instance-type == t2.small

Ejemplo: lista de argumentos

La expresión siguiente selecciona las instancias en la zona de disponibilidad us-east-1a o us-east-1b.

attribute:ecs.availability-zone in [us-east-1a, us-east-1b]

Ejemplo: expresiones compuestas

La expresión siguiente selecciona las instancias G2 que no están en la zona de disponibilidad us-east-1d.

attribute:ecs.instance-type =~ g2.* and attribute:ecs.availability-zone != us-east-1d

Ejemplo: afinidad de tareas

La expresión siguiente selecciona las instancias que alojan tareas en el grupo service:production

task:group == service:production

Ejemplo: antiafinidad de tareas

La expresión siguiente selecciona las instancias que no alojan tareas en el grupo de base de datos.

not(task:group == database)

Ejemplo: Recuento de tareas en ejecución

La expresión siguiente selecciona las instancias que solo están ejecutando una tarea.

runningTasksCount == 1

Ejemplo: Versión del agente de contenedor de Amazon ECS

La expresión siguiente selecciona las instancias que están ejecutando una versión del agente de contenedor anterior a la 1.14.5.

agentVersion < 1.14.5

Ejemplo: Hora de registro de las instancias

La expresión siguiente selecciona las instancias que se han registrado antes del 13 de febrero de 2018.

registeredAt < 2018-02-13

Ejemplo: ID de instancia Amazon EC2

La expresión siguiente selecciona las instancias con los ID de instancia Amazon EC2 siguientes.

ec2InstanceId in ['i-abcd1234', 'i-wxyx7890']