Esta página ha sido traducida por una máquina.

Creación de consultas de Cloud Advisor

Revise los aspectos básicos del lenguaje de consulta de Cloud Advisor, incluida una explicación sobre la sintaxis y las reglas para que pueda crear sus propias consultas.

Las consultas aplican condiciones de búsqueda a un juego de atributos y permiten ordenar los resultados. Si desea buscar en todos los tipos de recursos soportados y atributos de recursos y no necesita resultados de búsqueda ordenados, no es necesario agregar órdenes de atributos.

Este tema incluye las siguientes secciones:

Permisos de IAM necesarios

Los recursos que verá en los resultados de la consulta dependen de los permisos que tenga para el tipo de recurso. No verá necesariamente los resultados de cada recurso en el compartimento o arrendamiento. Por ejemplo, si su cuenta de usuario no está asociada a una política que le otorgue la capacidad de, al menos, inspect el tipo de recurso optimizer-resource-action, no puede consultar recursos de Cloud Advisor. (El verbo inspect permite mostrar y obtener recursos). En su lugar, Cloud Advisor no muestra resultados para las consultas.

Para obtener más información sobre las políticas, consulte Funcionamiento de las políticas. Para obtener información sobre los permisos específicos necesarios para la operación de API de lista para el tipo de recurso necesario, consulte Creación de políticas de Cloud Advisor.

Información básica sobre consultas

En los siguientes ejemplos se muestra la sintaxis básica de una consulta de Cloud Advisor:

query ResourceAction where <conditions> sorted by <fieldName> <order>

O bien:

query ResourceAction matching <keywords>

Cloud Advisor no tiene en cuenta los espacios en blanco, la sangría ni los intervalos de línea. Las consultas de ejemplo incluyen indentación para mejorar la lectura. Con el fin de mostrar solo la sintaxis, los corchetes angulares (<>) y el texto en cursiva indican variables, que pueden constar de una o más palabras clave.

En una consulta, las cláusulas incluyen lo siguiente:

  • query: (necesario) selecciona los recursos que se devolverán en función de las cláusulas posteriores. Las sentencias de la consulta siempre comienzan por la palabra query.
  • where: hace coincidir los recursos con las conditions especificadas.
  • matching: hace coincidir los recursos con el texto especificado independientemente de si el texto coincide exactamente, coincide con el tipo de recurso o aparece en un atributo de recurso indexado.
  • sorted by: ordena los recursos según fieldName en el orden especificado por la cláusula order. Si no incluye esta cláusula, Cloud Advisor muestra los resultados por fecha de creación en orden descendente, mostrando en primer lugar los recursos más recientes.

Las cláusulas son opcionales, a menos que se indique lo contrario. Para la coincidencia, puede utilizar la cláusula where y la cláusula matching por separado o conjuntamente.

Condiciones

La cláusula where aplica conditions que filtran los resultados devueltos por Cloud Advisor. Puede especificar una o más sentencias de condición. Para obtener más información sobre varias condiciones, consulte Condiciones de agrupación.

En una consulta, conditions consta de lo siguiente:

<fieldName> <operation> <value>

La palabra clave fieldName es el atributo de recurso con respecto al cual se evalúan operation y value seleccionados de ese atributo. Cada campo está asociado a un tipo de campo. El tipo de campo indica el formato esperado para cualquier valor de ese campo. El tipo de operation que puede utilizar en una sentencia conditions depende del tipo de campo.

En la consulta conditions, una operation es un operador de comparación que se aplica al value en la sentencia. La palabra clave value hace referencia al valor de fieldName especificado. Cloud Advisor evalúa si el atributo especificado del tipo de recurso seleccionado coincide o no con value, según la operación. En una consulta, debe introducir cualquier valor de cadena o fecha-hora entre comillas de apertura y cierre simples rectas (ˈ) o comillas dobles (").

En la siguiente tabla se describen las operaciones soportadas para consultas de recursos:

Operación Descripción Tipos de campos soportados ¿Es sensible a mayúsculas/minúsculas? Ejemplo
=

Igual o coincidencia exacta para cadenas

Cadena, entero, racional, booleano, fecha-hora

No

Si el value fuera ˈbackUpˈ, coincidiría con "backup", "BACKUP", "BackUp", "backUp" o con cualquier otra variación de mayúsculas/minúsculas.
!=

Distinto de

Cadena, entero, racional, booleano, fecha-hora

No

Si el value fuera ˈbackUpˈ, coincidiría con cualquier valor que no sea igual a "backUp", "backup" o cualquier otra variación de mayúsculas/minúsculas. También coincidiría con cualquier valor que no contenga los caracteres 'backup' en ese orden.
==

Estrictamente igual

Cadena

Si el value fuera ˈbackUpˈ, solo coincidiría con "backUp" y con ninguna otra variación de mayúsculas/minúsculas.
!==

Estrictamente es distinto de

Cadena

Si el value fuera ˈbackUpˈ, coincidiría con "backup", "BACKup" o cualquier elemento, excepto "backUp", con esa combinación exacta.
=~

Contiene

Cadena

No

Si el value fuera ˈbackUpˈ, coincidiría con cualquier elemento que fuera igual a "backup", "BACKUP", "BackUp", "backUp" o cualquier otra variación de mayúsculas/minúsculas o que contenga dichos caracteres en ese orden, junto con otros caracteres.
>=

Mayor o igual que

Entero, racional, fecha-hora

No aplicable

Para una consulta con size >= 5 como condición, todos los resultados tendrán un valor de 5 o superior en el campo denominado size.
>

Mayor que

Entero, racional, fecha-hora

No aplicable

Para una consulta con size > 5 como condición, todos los resultados tendrán un valor superior a 5 en el campo denominado size.
<=

Menor o Igual que

Entero, racional, fecha-hora

No aplicable

Para una consulta con size <= 5 como condición, todos los resultados tendrán un valor de 5 o inferior en el campo denominado size.
<

Menor que

Entero, racional, fecha-hora

No aplicable

Para una consulta con size < 5 como condición, todos los resultados tendrán un valor de 5 o inferior en el campo denominado size.

En la siguiente tabla se muestran algunos ejemplos de atributos de recursos que pertenecen a cada categoría de tipos de campos soportados. El tipo de campo indica el formato esperado para un campo determinado y el tipo de operation con el que puede emparejarlo en una sentencia conditions.

En la tabla no se incluyen todos los ejemplos posibles para un tipo de campo determinado. Si desea saber qué formato espera el servicio Cloud Advisor para un atributo de recurso específico, puede utilizar la interfaz de línea de comandos o la API para obtener más información sobre los atributos de recursos. También puede consultar la documentación de la API. La documentación de la API incluye una referencia de cada tipo de recurso soportado que especifica atributos, sus tipos de campo y restricciones.

Tipo Ejemplo de atributos de recurso
Cadena Nombres mostrados, estados del ciclo de vida, dominios de disponibilidad, etiquetas, bloques CIDR y URL
Entero Tamaño o longitud de un recurso
Racional Almacenamiento de datos disponible
Booleano Si una función está activada o configurada, si un recurso está en buen estado, si un recurso es público o privado, si algo es la última versión y si se permite algo.
Fecha-hora Fechas de creación, fechas de última actualización, fechas de último índice y reinicios de mantenimiento programados

Condiciones de agrupación

Al incluir más de una sentencia de condición en una consulta, puede acotar los resultados según varios criterios. Puede agrupar varias condiciones mediante operadores lógicos && (ampersands para indicar un AND lógico) o || (barras verticales, para indicar un OR lógico). Por ejemplo:

resourceType = 'Compute' && status = 'Active' && regionName = 'us-ashburn-1'

No puede combinar dos operadores lógicos diferentes en la misma consulta a menos que ajuste los paréntesis alrededor de un grupo de predicados. De lo contrario, varias condiciones solo pueden usar el mismo operador lógico. Por ejemplo:

(resourceType = 'Compute' && status = 'Active' && regionName = 'us-region-1') || status != 'Implemented'

En el ejemplo anterior, todos los resultados devueltos tienen Compute como valor para resourceType, Active como valor para el estado y us-region-1 como valor para regionName, o el valor de su campo de estado es cualquier otro que no sea Implantado.

También se acepta el siguiente grupo:

status = 'Implemented' && (resourceType = 'Compute' || lifecycleState != 'FAILED')

En el ejemplo anterior, todos los resultados devueltos tienen implantado como valor para el estado y Compute como valor para resourceType o cualquier elemento que no sea FALLIDO para lifecycleState.

Cloud Advisor no realiza una evaluación de izquierda a derecha para reducir la ambigüedad o aclarar la intención.

Valores de fecha y hora

Puede especificar valores de fecha y hora mediante cualquiera de los siguientes formatos de cadena de patrón:

Formato Ejemplos Comentarios
<yyyy>-<MM>-<dd> <HH>:<mm>:<ss> <TimeZone>

'2018-06-19 16:15:41 PDT', '2018-06-19 16:15:41 -08:00'

TimeZone es opcional. Si se omite TimeZone, se utilizará UTC.
<EEE>, <d> <MMM> <yyyy> <HH>:<mm>:<ss> <TimeZone>

'Mar, 19 Jun 2018 16:15:41 +0300', '19 Junio 2018 16:15:41'

EEE es opcional. MMM también se puede expresar como MMMM. TimeZone también es opcional. Si se omite TimeZone, se utilizará UTC.
<yyyy>-<MM>-<dd>T<HH>:<mm>:<ss>Z

'2018-06-19T16:15:41Z'

Tiempo en UTC. 'T' y 'Z' son sensibles a mayúsculas/minúsculas.

Debe respetar el espaciado. Interprete los guiones, los dos puntos, las comas y los caracteres "T" y "Z" literalmente. Para interpretar los valores de los marcadores de posición de la tabla anterior, puede consultar la siguiente sintaxis de patrones:

Letra Componente de fecha u hora Presentación
y

Año

Año

M

Mes del año

Mes

d

Día del mes

Día

H Hora del día (de 00 a 23) Número
m Minuto de la hora Número
s Segundo del minuto Número
E Día de la Semana Texto

Las letras de patrones repetidas indican la presentación exacta. Por ejemplo, "HH" significa que debe usar "00" y no "0" para representar la media noche. De forma similar, "EEE" significa "Mar" y no "Martes". Del mismo modo, para representar el mes de septiembre, es necesario '09' en lugar de '9'.

TimeZone es opcional, pero en el formato elegido, puede especificar TimeZone de cualquiera de las siguientes formas:

  • Name. Puede especificar una zona horaria por su nombre, por ejemplo, GMT o PDT. Los valores son sensibles a mayúsculas/minúsculas.
  • Valor de desfase de GMT. Puede especificar una zona horaria de acuerdo con su desfase de GMT. Por ejemplo, GMT-08:00. Los valores son sensibles a mayúsculas/minúsculas.
  • Zona horaria ISO 8601. Puede especificar una zona horaria de acuerdo con los estándares ISO 8601. Por ejemplo, -08, -0800 o -08:000.

En lugar de utilizar uno de los formatos anteriores, también puede especificar un valor de fecha-hora como la constante now. La constante now representa la hora actual al nivel de granularidad de segundos de un minuto.

Por último, puede sumar o restar intervalos de tiempo de cualquier valor de fecha y hora. Por ejemplo, puede consultar los recursos que se crearon dentro de los cinco minutos de un período específico. La búsqueda soporta los siguientes intervalos de tiempo:

Letra Componente de fecha u hora
s

Segundos

m

Minutos

h

Horas

d Días
w Semanas

Para especificar un intervalo de tiempo en relación a un valor de fecha y hora, utilice uno de los siguientes formatos:

  • ahora - 3 horas
  • 2018-06-19 16:15:41 PDT + 1H

Ordenación

La última cláusula de una consulta de recurso es la cláusula sorted by y es opcional. La cláusula sorted by ordena los resultados devueltos por Cloud Advisor según el nombre del campo y los muestra según la opción order que especifique. Por defecto, si no se especifica el orden de clasificación, los resultados siempre se ordenan por fecha y hora de creación en orden descendente.

En la cláusula sorted by, puede especificar lo siguiente:

  • fieldName: campo que utiliza Cloud Advisor para ordenar los resultados. Puede especificar cualquier campo de cualquier recurso. Los recursos que no contienen el campo que especifique se enumeran después de los recursos que los contienen.
  • order: puede especificar asc o desc. Al especificar asc, los resultados se mostrarán en orden ascendente. Al especificar desc, los resultados se mostrarán en orden descendente.