CloudTrail Restrições do Lake SQL - AWS CloudTrail

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 Restrições do Lake SQL

CloudTrail As consultas Lake são cadeias de caracteres 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.

CloudTrail O Lake oferece suporte a todas as SELECT instruções, funções e operadores válidos do Presto SQL. Para obter mais informações sobre as funções e os operadores SQL compatíveis, consulte Funções e operadores no site de documentação do Presto.

O CloudTrail console fornece vários exemplos de consultas que podem ajudar você a começar a escrever suas próprias consultas. Para ter mais informações, consulte Visualização de consultas de exemplo no console do CloudTrail.

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 no site de documentação do Presto.

CloudTrail Lake não suporta a INTERVAL palavra-chave.

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 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;