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á.
Restrições de SQL do CloudTrail Lake
As consultas do CloudTrail Lake são strings de SQL. 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 instrução SELECT
é a seguinte. O ID do armazenamento de dados de eventos (a parte ID do ARN do armazenamento de dados de eventos) é especificado pelo valor FROM
.
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 ] ]
O CloudTrail Lake oferece suporte a todas as instruções SELECT
, funções e operadores do Presto SQL. Para obter mais informações sobre as funções e os operadores SQL compatíveis, consulte Funções e operadores
O console do CloudTrail fornece vários exemplos de consultas que podem ajudá-lo a começar a escrever suas próprias consultas. Para ter 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
O CloudTrail Lake oferece suporte a 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
O CloudTrail Lake é compatível com linguagem de consulta avançada entre 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 localizar eventos por ID e nome do evento em três armazenamentos de dados de eventos, EDS1, EDS2 e EDS3. 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;