Ejecute y gestione consultas de CloudTrail Lake con AWS CLI - AWS CloudTrail

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.

Ejecute y gestione consultas de CloudTrail Lake con AWS CLI

Puede utilizar el AWS CLI para ejecutar y gestionar sus consultas de CloudTrail Lake. Cuando utilice el AWS CLI, recuerde que sus comandos se ejecutan en la Región de AWS configuración de su perfil. Si desea ejecutar los comandos en otra región, cambie la región predeterminada de su perfil o utilice el parámetro --region con el comando.

Comandos disponibles para las consultas de CloudTrail Lake

Los comandos para ejecutar y administrar consultas en CloudTrail Lake incluyen:

  • start-querypara ejecutar una consulta.

  • describe-querypara devolver los metadatos de una consulta.

  • get-query-resultspara devolver los resultados de la consulta para el ID de consulta especificado.

  • list-queriespara obtener una lista de consultas para el banco de datos de eventos especificado.

  • cancel-querypara cancelar una consulta en ejecución.

Para obtener una lista de los comandos disponibles para los almacenes de datos de eventos de CloudTrail Lake, consulteComandos disponibles para los almacenes de datos de eventos.

Para obtener una lista de los comandos disponibles para las integraciones de CloudTrail Lake, consulteComandos disponibles para las integraciones de CloudTrail Lake.

Inicie una consulta con AWS CLI

El siguiente AWS CLI start-query comando de ejemplo ejecuta una consulta en el banco de datos de eventos especificado como un ID en la declaración de consulta y entrega los resultados de la consulta a un bucket de S3 específico. El --query-statement parámetro proporciona una SQL consulta entre comillas simples. Los parámetros opcionales incluyen --delivery-s3-uri para enviar los resultados de la consulta a un bucket de S3 especificado. Para obtener más información sobre el lenguaje de consulta que puede usar en CloudTrail Lake, consulteCloudTrail SQLRestricciones del lago.

aws cloudtrail start-query --query-statement 'SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10' --delivery-s3-uri "s3://aws-cloudtrail-lake-query-results-123456789012-us-east-1"

La respuesta es una cadena QueryId. Para obtener el estado de una consulta, ejecute describe-query utilizando el valor QueryId devuelto por start-query. Si la consulta se realiza correctamente, se puede ejecutar get-query-results para obtener resultados.

Salida

{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE" }
nota

Es posible que las consultas que se ejecuten durante más de una hora agoten el tiempo de espera. Aun así, puede que obtenga resultados parciales que se hayan procesado antes de que se agotara el tiempo de espera de la consulta.

Si va a enviar los resultados de la consulta a un depósito de S3 mediante el --delivery-s3-uri parámetro opcional, la política del depósito debe conceder CloudTrail permiso para enviar los resultados de la consulta al depósito. Para obtener más información sobre cómo editar manualmente la política del bucket, consulte Política de bucket de Amazon S3 para los resultados de consultas de CloudTrail Lake.

Obtenga los metadatos de una consulta con el AWS CLI

El siguiente AWS CLI describe-query comando de ejemplo obtiene los metadatos de una consulta, incluido el tiempo de ejecución de la consulta en milisegundos, el número de eventos analizados y coincidentes, el número total de bytes escaneados y el estado de la consulta. El valor de BytesScanned coincide con el número de bytes que se facturan a la cuenta por la consulta, a menos que la consulta aún siga en ejecución. Si los resultados de la consulta se enviaron a un bucket de S3, la respuesta también proporciona el S3 URI y el estado de la entrega.

Puede especificar un valor para --query-id o el parámetro --query-alias. Al especificar el parámetro --query-alias, se devuelve información sobre la última consulta ejecutada para el alias.

aws cloudtrail describe-query --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

A continuación, se muestra un ejemplo de respuesta.

{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryString": "SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10", "QueryStatus": "RUNNING", "QueryStatistics": { "EventsMatched": 10, "EventsScanned": 1000, "BytesScanned": 35059, "ExecutionTimeInMillis": 3821, "CreationTime": "1598911142" } }

Obtenga los resultados de la consulta con AWS CLI

El siguiente ejemplo de comando de la AWS CLI get-query-results obtiene los resultados de los datos de eventos de una consulta. Debe especificar el valor de --query-id que devuelve el comando start-query. El valor de BytesScanned coincide con el número de bytes que se facturan a la cuenta por la consulta, a menos que la consulta aún siga en ejecución. Los parámetros opcionales incluyen --max-query-results para especificar el número máximo de resultados que desea que el comando devuelva en una sola página. Si hay más resultados que el valor --max-query-results especificado, ejecute el comando de nuevo agregando el valor devuelto NextToken para obtener la siguiente página de resultados.

aws cloudtrail get-query-results --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

Salida

{ "QueryStatus": "RUNNING", "QueryStatistics": { "ResultsCount": 244, "TotalResultsCount": 1582, "BytesScanned":27044 }, "QueryResults": [ { "key": "eventName", "value": "StartQuery", } ], "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryString": "SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10", "NextToken": "20add42078135EXAMPLE" }

Enumere todas las consultas de un banco de datos de eventos con la AWS CLI

El siguiente ejemplo de comando de la AWS CLI list-queries devuelve una enumeración de consultas y estados de consulta en un almacén de datos de eventos especificado para los últimos siete días. Debe especificar un ARN o el sufijo de ID de un ARN valor para--event-data-store. De manera opcional, para reducir la lista de resultados, puede especificar un rango de tiempo, formateado como marcas temporales, agregando --start-time, los parámetros --end-time y un valor --query-status. Los valores válidos para QueryStatus incluyen: QUEUED, RUNNING, FINISHED, FAILED, o CANCELLED.

list-queries también tiene parámetros opcionales de paginación. Utilice --max-results, para especificar el número máximo de resultados que desea que el comando devuelva en una sola página. Si hay más resultados que el valor --max-results especificado, ejecute el comando de nuevo agregando el valor devuelto NextToken para obtener la siguiente página de resultados.

aws cloudtrail list-queries --event-data-store EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE --query-status CANCELLED --start-time 1598384589 --end-time 1598384602 --max-results 10

Salida

{ "Queries": [ { "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryStatus": "CANCELLED", "CreationTime": 1598911142 }, { "QueryId": "EXAMPLE2-4e89-9230-2127-5dr3aEXAMPLE", "QueryStatus": "CANCELLED", "CreationTime": 1598296624 } ], "NextToken": "20add42078135EXAMPLE" }

Cancela una consulta en curso con el AWS CLI

El siguiente AWS CLI cancel-query comando de ejemplo cancela una consulta con un estado deRUNNING. Debe especificar un valor para --query-id. Al ejecutar cancel-query, el estado de la consulta se puede mostrar como CANCELLED aunque la operación cancel-query no haya finalizado.

nota

Una consulta cancelada puede generar gastos. Se cargará en su cuenta la cantidad de datos que se analizaron antes de que cancelara la consulta.

A continuación se muestra un CLI ejemplo.

aws cloudtrail cancel-query --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

Salida

QueryId -> (string) QueryStatus -> (string)