Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CloudTrail SQLVincoli del lago
CloudTrail Le domande sul lago sono SQL stringhe. Questa sezione contiene informazioni relative alle funzioni, agli operatori e agli schemi supportati.
Sono consentite soltanto istruzioni SELECT
. Nessuna stringa di query può modificare o alterare i dati.
La sintassi CloudTrail Lake per una SELECT
dichiarazione è la seguente. L'ID dell'Event Data Store, la parte relativa all'ID dell'Event Data Store, ARN è specificato per il valore. 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 ] ]
CloudTrail Lake supporta tutte le SQL SELECT
istruzioni, le funzioni e gli operatori Presto validi. Per ulteriori informazioni sulle SQL funzioni e gli operatori supportati, consulta Funzioni e operatori
La CloudTrail console fornisce una serie di query di esempio che possono aiutarti a iniziare a scrivere domande personalizzate. Per ulteriori informazioni, consulta Visualizza interrogazioni di esempio con la console CloudTrail .
Funzioni, condizioni e operatori join supportati
Funzioni supportate
CloudTrail Lake supporta tutte le funzioni Presto. Per ulteriori informazioni sulle funzioni supportate, consulta Funzioni e operatori
Operatori di condizioni supportati
Di seguito sono riportati gli operatori di condizione supportati.
AND OR IN NOT IS (NOT) NULL LIKE BETWEEN GREATEST LEAST IS DISTINCT FROM IS NOT DISTINCT FROM < > <= >= <> != ( conditions ) #parenthesised conditions
Operatori join supportati
Sono supportati i seguenti operatori JOIN
: Per ulteriori informazioni sull'esecuzione di query multi-tabella, consulta Supporto avanzato per query multi-tabella.
UNION UNION ALL EXCEPT INTERSECT LEFT JOIN RIGHT JOIN INNER JOIN
Supporto avanzato per query multi-tabella
CloudTrail Lake supporta un linguaggio di interrogazione avanzato su più archivi di dati di eventi.
Per eseguire la query, utilizza il comando start-query nella AWS CLI. Di seguito è riportato un esempio, che utilizza una delle query di esempio in questa sezione.
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;"
La risposta è una stringa QueryId
. Per ottenere lo stato di una query, esegui describe-query
utilizzando il valore QueryId
restituito da start-query
. Se la query ha esito positivo, è possibile eseguire get-query-results
per ottenere i risultati.
UNION|UNION
ALL|EXCEPT|INTERSECT
Di seguito è riportato un esempio di query che utilizza UNION
e trova gli eventi in base UNION ALL
all'ID e al nome dell'evento in tre archivi di dati di eventiEDS1,EDS2, eEDS3. I risultati vengono prima selezionati dall'archivio dati di ciascun evento, quindi i risultati vengono concatenati, ordinati per ID evento e limitati a dieci eventi.
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
Di seguito è riportata una query di esempio che utilizza LEFT JOIN
per trovare tutti gli eventi di un datastore di eventi denominato eds2
, mappato a edsB
, che corrispondono a quelli in un datastore di eventi primario (a sinistra), edsA
. Gli eventi restituiti si verificano entro il 1° gennaio 2020 compreso e vengono restituiti solo i nomi degli eventi.
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;