CloudTrail Lake SQL制約 - AWS CloudTrail

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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;