As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
CloudTrail SQLRestrições do lago
CloudTrail As consultas do Lake são SQL sequências de caracteres. Esta seção fornece informações sobre funções, operadores e esquemas compatíveis.
Somente instruções SELECT
são permitidas. Nenhuma string de consulta pode alterar ou modificar dados.
A sintaxe do CloudTrail Lake para uma SELECT
declaração é a seguinte. O ID do armazenamento de dados do evento — a parte do ID do armazenamento de dados do evento ARN — é especificado para o FROM
valor.
SELECT [ DISTINCT ] columns [ Aggregate ] [ FROM table
event_data_store_ID
] [ WHERE columns [ Conditions ] ] [ GROUP BY columns [ DISTINCT | Aggregate ] ] [ HAVING columns [ Aggregate | Conditions ] ] [ ORDER BY columns [ Aggregate | ASC | DESC | NULLS | FIRST | LAST ] [ LIMIT [ INT ] ]
CloudTrail O Lake suporta todas as SQL SELECT
instruções, funções e operadores válidos do Presto. Para obter mais informações sobre as SQL funções e operadores suportados, consulte Funções e operadores
O CloudTrail console fornece vários exemplos de consultas que podem ajudar você a começar a escrever suas próprias consultas. Para obter mais informações, consulte Veja exemplos de consultas com o console CloudTrail .
Tópicos
Funções, condições e operadores de junção compatíveis
Funções compatíveis
CloudTrail O Lake suporta todas as funções do Presto. Para obter mais informações sobre as funções compatíveis, consulte Funções e operadores
Operadores de condição compatíveis
Os operadores de condição a seguir são compatíveis.
AND OR IN NOT IS (NOT) NULL LIKE BETWEEN GREATEST LEAST IS DISTINCT FROM IS NOT DISTINCT FROM < > <= >= <> != ( conditions ) #parenthesised conditions
Operadores de junção compatíveis
Os operadores JOIN
a seguir são compatíveis. Para obter mais informações sobre a execução de consultas em várias tabelas, veja Compatibilidade avançada para consultas com várias tabelas.
UNION UNION ALL EXCEPT INTERSECT LEFT JOIN RIGHT JOIN INNER JOIN
Compatibilidade avançada para consultas com várias tabelas
CloudTrail O Lake suporta linguagem de consulta avançada em vários armazenamentos de dados de eventos.
Para executar sua consulta, use o comando start-query na AWS CLI. Veja a seguir um exemplo que usa uma das amostras de consultas nesta seção.
aws cloudtrail start-query --query-statement "Select eventId, eventName from EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE UNION Select eventId, eventName from EXAMPLEg741-6y1x-9p3v-bnh6iEXAMPLE UNION ALL Select eventId, eventName from EXAMPLEb529-4e8f9l3d-6m2z-lkp5sEXAMPLE ORDER BY eventId LIMIT 10;"
A resposta é uma string de QueryId
. Para obter o status de uma consulta, execute describe-query
usando o valor QueryId
retornado por start-query
. Se a consulta tiver êxito, você poderá executar get-query-results
para obter os resultados.
UNION|UNION
ALL|EXCEPT|INTERSECT
Veja a seguir um exemplo de consulta que usa UNION
e UNION ALL
para encontrar eventos pelo ID e nome do evento em três armazenamentos de dados de eventos EDS1EDS2,, EDS3 e. Os resultados são selecionados primeiramente de cada armazenamento de dados de eventos e, em seguida, os resultados são concatenados, ordenados por ID do evento e limitados a dez eventos.
Select eventId, eventName from EDS1 UNION Select eventId, eventName from EDS2 UNION ALL Select eventId, eventName from EDS3 ORDER BY eventId LIMIT 10;
LEFT|RIGHT|INNER
JOIN
Veja a seguir um exemplo de consulta que usa LEFT JOIN
para encontrar todos os eventos de um armazenamento de dados de eventos chamado eds2
, mapeado para edsB
, que correspondam aos eventos de um armazenamento primário (à esquerda) de dados de eventos, edsA
. Os eventos retornados ocorrem até 1.º de janeiro de 2020 e somente os nomes dos eventos são retornados.
SELECT edsA.eventName, edsB.eventName, element_at(edsA.map, 'test') FROM eds1 as edsA LEFT JOIN eds2 as edsB ON edsA.eventId = edsB.eventId WHERE edsA.eventtime <= '2020-01-01' ORDER BY edsB.eventName;