翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CloudTrail Lake SQL制約
CloudTrail Lake クエリはSQL文字列です。このセクションでは、サポートされている関数、演算子、スキーマについて説明します。
SELECT
ステートメントのみが許可されます。データを変更できるクエリ文字列はありません。
SELECT
ステートメントの CloudTrail Lake 構文は次のとおりです。イベントデータストア ID は、イベントデータストアの の ID 部分でありARN、 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 は、有効なすべての Presto SQLSELECT
ステートメント、関数、および演算子をサポートしています。サポートされているSQL関数と演算子の詳細については、Presto ドキュメントウェブサイトの「関数と演算子
CloudTrail コンソールには、独自のクエリの作成を開始するのに役立つ多数のサンプルクエリが用意されています。詳細については、「 CloudTrail コンソールでサンプルクエリを表示する」を参照してください。
サポートされている関数、条件、結合演算子
サポートされている関数
CloudTrail Lake は、すべての Presto 関数をサポートしています。サポートされている関数の詳細については、Presto ドキュメントウェブサイトの「関数と演算子
CloudTrail Lake は INTERVAL
キーワードをサポートしていません。
サポートされている条件演算子
以下は、サポートされている条件演算子です。
AND OR IN NOT IS (NOT) NULL LIKE BETWEEN GREATEST LEAST IS DISTINCT FROM IS NOT DISTINCT FROM < > <= >= <> != ( conditions ) #parenthesised conditions
サポートされている結合演算子
以下は、サポートされている JOIN
演算子です。複数テーブルクエリの実行の詳細については、「高度なマルチテーブルクエリのサポート」を参照してください。
UNION UNION ALL EXCEPT INTERSECT LEFT JOIN RIGHT JOIN INNER JOIN
高度なマルチテーブルクエリのサポート
CloudTrail Lake は、複数のイベントデータストアで高度なクエリ言語をサポートしています。
クエリを実行するには、 AWS CLIの start-query コマンドを使用します。このセクションのサンプルクエリのいずれかを使用した例を次に示します。
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;"
レスポンスは QueryId
文字列です。クエリのステータスを取得するには、start-query
によって返された QueryId
値を使用して describe-query
を実行します。クエリが成功した場合は、get-query-results
を実行して結果を取得できます。
UNION|UNION
ALL|EXCEPT|INTERSECT
以下は、 UNION
と を使用して、イベント ID とイベント名でイベントUNION ALL
を検索する 3 つのイベントデータストア、EDS1、EDS2および のクエリ例ですEDS3。結果は最初に各イベントデータストアから選択されてから連結され、イベント ID 順に並べられます。10 個のイベントに制限されます。
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
edsB
にマッピングされた eds2
という名前のイベントデータストアから、プライマリ (左) イベントデータストア edsA
内のイベントと一致するすべてのイベントを検索するために LEFT JOIN
を使用するサンプルクエリを次に示します。返されるイベントは 2020 年 1 月 1 日以前に発生したものであり、イベント名のみが返されます。
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;