Skip to content

Query

Envelope の query は、その操作でデータをどう取り出そうとしたかを表します。 取り出し方の種類は type で表し、SQL の実行ではクエリの文字列が text に入ります。 取得する件数や開始位置は limit / offset で表します。

query が付くのは、データソースからデータを取り出す操作です。 テーブルやジョブの定義だけを読むメタデータの取得や、 キャンセルのようにデータ取得を伴わない操作には付きません。 どのイベントに付くかは、各イベントページの query で確認できます。

type には次の種類があります。

  • sql … データソースに対する SQL の実行。実行された SQL が text に入ります
  • table … テーブルの直接読み取り。text は入らず、読み取る対象は resource が表します
  • job_result … クエリジョブの実行結果読み取り。text は入らず、対象のジョブは resource が表します

クエリジョブの結果取得に text が入らないのは、クエリの文字列がジョブ作成時(type: sql)の イベントにすでに記録されているためです。ここには type: job_result と取得件数(limit / offset) だけが入り、元の SQL は resource.uid(ジョブの識別子)をたどって create のイベントから確認できます。

result.statusdenyfailure のイベントにも query は入ります。 実際にはデータを取得できなかった場合でも、何を取り出そうとしたのかが分かるようにするためです。

1回の操作で複数のクエリを実行した場合は、クエリごとに1件ずつイベントを記録します。 1件の query に複数のクエリがまとまることはありません。

Objects

Query

その操作でデータをどう取り出そうとしたかの仕様です。

text は長さの上限を超えると切り詰められます。切り詰められた場合は truncatedtrue になり、 切り詰めがなかった場合は truncated フィールド自体が付きません(ChangedField のフラグモードと同じ規約)。 これにより「短いクエリ」と「切り詰められたクエリ」を取り違えずに読めます。

名前必須説明
typeQueryType必須クエリの種類
textstring任意クエリの文字列。長さ上限を超える場合は切り詰められます。
sensitivity: confidential
truncatedbool任意長さ上限を超えて切り詰められた場合の true
limitint任意取得件数の上限。API に渡された値であり、SQL 文中の LIMIT 句とは別のものです。
offsetint任意取得開始位置。API に渡された値であり、SQL 文中の OFFSET 句とは別のものです。

Enums

QueryType

クエリの種類です。

説明
sqlデータソースに対して実行される SQL
tableテーブルの直接読み取り。text は入りません
job_resultクエリジョブの実行結果読み取り。text は入りません

Codatum Audit Events 監査ログイベントカタログ