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.
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
Sí
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
Sí
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:
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.
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:
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.