MCP Tools Reference: bigquery.googleapis.com

ツール: get_dataset_info

BigQuery データセットに関するメタデータ情報を取得します。

次のサンプルは、curl を使用して get_dataset_info MCP ツールを呼び出す方法を示しています。

Curl リクエスト
                  
curl --location 'https://bigquery.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_dataset_info",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

入力スキーマ

データセットのリクエスト。

JSON 表現
{
  "projectId": string,
  "datasetId": string
}
フィールド
projectId

string

必須。データセット リクエストのプロジェクト ID。

datasetId

string

必須。データセット リクエストのデータセット ID。

出力スキーマ

BigQuery データセットを表します。

JSON 表現
{
  "kind": string,
  "etag": string,
  "id": string,
  "selfLink": string,
  "datasetReference": {
    object (DatasetReference)
  },
  "friendlyName": string,
  "description": string,
  "defaultTableExpirationMs": string,
  "defaultPartitionExpirationMs": string,
  "labels": {
    string: string,
    ...
  },
  "access": [
    {
      object (Access)
    }
  ],
  "creationTime": string,
  "lastModifiedTime": string,
  "location": string,
  "defaultEncryptionConfiguration": {
    object (EncryptionConfiguration)
  },
  "satisfiesPzs": boolean,
  "satisfiesPzi": boolean,
  "type": string,
  "linkedDatasetSource": {
    object (LinkedDatasetSource)
  },
  "linkedDatasetMetadata": {
    object (LinkedDatasetMetadata)
  },
  "externalDatasetReference": {
    object (ExternalDatasetReference)
  },
  "externalCatalogDatasetOptions": {
    object (ExternalCatalogDatasetOptions)
  },
  "isCaseInsensitive": boolean,
  "defaultCollation": string,
  "defaultRoundingMode": enum (RoundingMode),
  "maxTimeTravelHours": string,
  "tags": [
    {
      object (GcpTag)
    }
  ],
  "storageBillingModel": enum (StorageBillingModel),
  "restrictions": {
    object (RestrictionConfig)
  },
  "resourceTags": {
    string: string,
    ...
  }
}
フィールド
kind

string

出力専用。リソースの型。

etag

string

出力専用。リソースのハッシュ。

id

string

出力専用。projectId:datasetId 形式のデータセットの完全修飾一意名。datasetId フィールドに、プロジェクト名なしでデータセット名が示されます。新しいデータセットを作成する場合は、このフィールドを空白のままにし、代わりに datasetId フィールドを指定します。

selfLink

string

出力専用。リソースに再度アクセスするために使用できる URL。この URL は、リソースに対する Get リクエストまたは Update リクエストで使用できます。

datasetReference

object (DatasetReference)

必須。データセットを識別する参照。

friendlyName

string

省略可。データセットのわかりやすい名前。

description

string

省略可。データセットのわかりやすい説明。

defaultTableExpirationMs

string (Int64Value format)

省略可。データセット内のすべてのテーブルのデフォルトの有効期間(ミリ秒)。最小存続時間値は 3,600,000 ミリ秒(1 時間)です。PATCH リクエストで既存のデフォルトの有効期限をクリアするには、0 に設定します。このプロパティを設定すると、データセット内に新しく作成されるすべてのテーブルの expirationTime プロパティが、作成時刻にこのプロパティの値を加えた時刻に設定されます。このプロパティの値を変更しても、既存のテーブルには影響しません。特定のテーブルの expirationTime に達すると、そのテーブルは自動的に削除されます。テーブルの有効期限が切れる前にテーブルの expirationTime が変更または削除された場合、またはテーブルの作成時に明示的な expirationTime を指定した場合、その値はこのプロパティで示されるデフォルトの有効期限よりも優先されます。

defaultPartitionExpirationMs

string (Int64Value format)

このデフォルトのパーティションの有効期限(ミリ秒単位)。

このプロパティが設定されているデータセットに新しい時間パーティション分割テーブルが作成されると、テーブルはこの値を継承し、新しいテーブルの TimePartitioning.expirationMs プロパティとして伝播されます。テーブルの作成時に TimePartitioning.expirationMs を明示的に設定すると、包含するデータセットの defaultPartitionExpirationMs は無視されます。

パーティション分割テーブルの作成時に defaultPartitionExpirationMs が設定されている場合、defaultTableExpirationMs の値は無視され、テーブルはテーブルの有効期限を継承しません。

labels

map (key: string, value: string)

このデータセットに関連付けられているラベル。これらを使用して、データセットを整理してグループ化できます。このプロパティは、データセットの挿入または更新時に設定できます。詳細については、データセット ラベルの作成と更新をご覧ください。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

access[]

object (Access)

省略可。1 つ以上のエンティティのデータセット アクセスを定義するオブジェクトの配列。このプロパティは、データにアクセスできるユーザーを制御するために、データセットの挿入時または更新時に設定できます。データセットの作成時に指定されていない場合、BigQuery は次のエンティティにデフォルトのデータセット アクセス権限を追加します。access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [データセット作成者のメールアドレス]; access.role: OWNER。データセットをパッチ適用すると、このフィールドはパッチ適用されたデータセットのアクセス フィールドで上書きされます。エンティティを追加するには、追加する新しいエンティティに加えて、既存のアクセス配列全体を指定する必要があります。

creationTime

string (int64 format)

出力専用。このデータセットが作成された時刻(エポックからのミリ秒数)。

lastModifiedTime

string (int64 format)

出力専用。このデータセットが最後に変更された日付(エポックからのミリ秒単位)。

location

string

データセットが存在する地理的位置。サポートされているロケーションについては、https://cloud.google.com/bigquery/docs/locations をご覧ください。

defaultEncryptionConfiguration

object (EncryptionConfiguration)

データセット内のすべてのテーブルのデフォルトの暗号鍵。このプロパティを設定すると、テーブル作成リクエストまたはクエリでキーが明示的にオーバーライドされない限り、データセット内の新しく作成されたすべてのテーブルの暗号鍵がこの値に設定されます。

satisfiesPzs

boolean

出力専用。将来の使用のために予約。

satisfiesPzi

boolean

出力専用。将来の使用のために予約。

type

string

出力専用。ListFormatDatasettype と同じです。データセットのタイプ。次のいずれかになります。

  • DEFAULT - オーナーと承認済みアカウントのみがアクセス可能
  • PUBLIC - 誰でもアクセス可能
  • LINKED - リンクされたデータセット、
  • EXTERNAL - 外部メタデータ カタログに定義があるデータセット。
linkedDatasetSource

object (LinkedDatasetSource)

省略可。データセットのタイプが LINKED の場合のソース データセット参照。他のすべてのデータセット タイプでは設定されません。このフィールドは、一度設定すると更新できません。Update API オペレーションと Patch API オペレーションを使用してこのフィールドを更新しようとしても、無視されます。

linkedDatasetMetadata

object (LinkedDatasetMetadata)

出力専用。LinkedDataset に関するメタデータ。データセット タイプが LINKED の場合に記入されます。

externalDatasetReference

object (ExternalDatasetReference)

省略可。BigQuery の外部のデータカタログで定義された読み取り専用の外部データセットへの参照。データセットのタイプが EXTERNAL の場合に設定されます。

externalCatalogDatasetOptions

object (ExternalCatalogDatasetOptions)

省略可。BigQuery カタログに存在するオープンソース互換のデータセットを定義するオプション。現在のデータセットで表されるオープンソース データベース、スキーマ、または名前空間のメタデータが含まれます。

isCaseInsensitive

boolean

省略可。データセットとそのテーブル名で大文字と小文字を区別しない場合は TRUE、それ以外の場合は FALSE。デフォルトでは FALSE です。つまり、データセットとそのテーブル名では大文字と小文字が区別されます。このフィールドはルーティン参照には影響しません。

defaultCollation

string

省略可。データセットで今後作成されるテーブルのデフォルトの照合順序を指定します。テーブルレベルのデフォルトの照合順序を指定せずにこのデータセットにテーブルを作成すると、テーブルはデータセットのデフォルトの照合順序を継承します。この照合順序は、明示的な照合順序が指定されていない文字列フィールドに適用されます。このフィールドを変更しても、既存のテーブルは変更されず、変更後に作成されたテーブルにのみ影響します。次の値を使用できます。

  • 'und:ci': 不明なロケール、大文字と小文字を区別しない。
  • '': 空の文字列。デフォルトで大文字と小文字が区別されます。
defaultRoundingMode

enum (RoundingMode)

省略可。このデータセット内に作成される新しいテーブルのデフォルトの丸めモードの仕様を定義します。テーブルの作成時にこのフィールドが指定されている場合、このデータセット内のテーブルはデータセットのデフォルトの丸めモードを継承します。テーブルにデフォルトの丸めモードを設定すると、このオプションがオーバーライドされます。データセット内の既存のテーブルには影響しません。テーブルの作成時に列が定義されている場合、特に指定がない限り、列はテーブルのデフォルトの丸めモードをすぐに継承します。

maxTimeTravelHours

string (Int64Value format)

省略可。タイムトラベル期間を時間で定義します。値は 48 ~ 168 時間(2 ~ 7 日)の範囲で指定できます。設定しない場合、デフォルト値は 168 時間です。

tags[]
(deprecated)

object (GcpTag)

出力専用。データセットのタグ。タグを入力として指定するには、resourceTags フィールドを使用します。

storageBillingModel

enum (StorageBillingModel)

省略可。データセットの storage_billing_model を更新します。

restrictions

object (RestrictionConfig)

省略可。出力専用。すべてのテーブルとデータセットの制限構成。設定されている場合、構成に基づいてデータセットとそのすべてのテーブルに対する特定のアクセスを制限します。詳細については、データの下り(外向き)をご覧ください。

resourceTags

map (key: string, value: string)

省略可。このデータセットに適用されたタグ。タグキーはグローバルに一意です。タグキーは、名前空間形式(例: 「123456789012/environment」)で指定する必要があります。ここで、123456789012 は、このタグキーの親組織またはプロジェクト リソースの ID です。タグ値は略称(「Production」など)である必要があります。詳しくは、タグの定義をご覧ください。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

JSON 表現
{
  "datasetId": string,
  "projectId": string,
  "datasetIdAlternative": [
    string
  ],
  "projectIdAlternative": [
    string
  ]
}
フィールド
datasetId

string

必須。プロジェクト名を指定しない、このデータセットの一意の ID。ID には、英字(a~z、A~Z)、数字(0~9)、アンダースコア(_)のみを含めることができます。最大長は 1,024 文字です。

projectId

string

省略可。このデータセットを含むプロジェクトの ID。

datasetIdAlternative[]

string

このフィールドは使用しないでください。

projectIdAlternative[]

string

このフィールドは使用しないでください。

JSON 表現
{
  "value": string
}
フィールド
value

string

文字列値。

JSON 表現
{
  "value": string
}
フィールド
value

string (int64 format)

int64 値。

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

JSON 表現
{
  "role": string,
  "userByEmail": string,
  "groupByEmail": string,
  "domain": string,
  "specialGroup": string,
  "iamMember": string,
  "view": {
    object (TableReference)
  },
  "routine": {
    object (RoutineReference)
  },
  "dataset": {
    object (DatasetAccessEntry)
  },
  "condition": {
    object (google.type.Expr)
  }
}
フィールド
role

string

このアクセス エントリで指定されたユーザー、グループ、またはドメインに付与される IAM ロール ID。次の以前のマッピングが適用されます。

  • OWNER: roles/bigquery.dataOwner
  • WRITER: roles/bigquery.dataEditor
  • READER: roles/bigquery.dataViewer

このフィールドでは上記のいずれの形式も受け入れられますが、返されるのは以前の形式のみです。たとえば、このフィールドを「roles/bigquery.dataOwner」に設定すると、「OWNER」として返されます。

userByEmail

string

[いずれか 1 つを選択] アクセス権を付与するユーザーのメールアドレス。例: fred@example.com。IAM ポリシー メンバー「user:EMAIL」または「serviceAccount:EMAIL」にマッピングされます。

groupByEmail

string

[いずれかを選択] アクセス権を付与する Google グループのメールアドレス。IAM ポリシー メンバー「group:GROUP」にマッピングされます。

domain

string

[1 つを選択] アクセスを付与するドメイン。ここで指定したドメインでログインするユーザー全員に、指定したアクセス権が付与されます。例: 「example.com」。IAM ポリシー メンバー「domain:DOMAIN」にマッピングされます。

specialGroup

string

[いずれか 1 つを選択] アクセス権を付与する特別なグループ。値は次のとおりです。

  • projectOwners: 囲みプロジェクトのオーナー。
  • projectReaders: 囲みプロジェクトの閲覧者。
  • projectWriters: 囲みプロジェクトの書き込み権限を持つユーザー。
  • allAuthenticatedUsers: すべての認証済み BigQuery ユーザー。

同様の名前の IAM メンバーにマッピングされます。

iamMember

string

[いずれか 1 つを選択] IAM ポリシーに表示されるが、ユーザー、グループ、ドメイン、特別なグループではない他のタイプのメンバー。

view

object (TableReference)

[いずれか 1 つを選択] アクセス権を付与する別のデータセットのビュー。そのビューに対して実行されたクエリは、このデータセット内のビュー、テーブル、ルーティンに対する読み取りアクセス権を持ちます。このフィールドが設定されている場合、ロール フィールドは必須ではありません。そのビューがユーザーによって更新された場合は、更新オペレーションでビューへのアクセス権を再度付与する必要があります。

routine

object (RoutineReference)

[いずれか 1 つを選択] アクセス権を付与する別のデータセットのルーティン。そのルーティンに対して実行されたクエリは、このデータセット内のビュー、テーブル、ルーティンに対する読み取りアクセス権を持ちます。現時点では UDF のみがサポートされています。このフィールドが設定されている場合、ロール フィールドは必須ではありません。そのルーティンがユーザーによって更新された場合、更新オペレーションを介してルーティンへのアクセス権を再度付与する必要があります。

dataset

object (DatasetAccessEntry)

[いずれか 1 つを選択] 特定のデータセット内の特定のタイプのリソースすべてに、このデータセットへのアクセスを承認する権限付与。現時点では、ビューのみがサポートされています。このフィールドが設定されている場合、ロール フィールドは必須ではありません。そのデータセットが削除されて再作成された場合は、更新オペレーションでアクセス権を再度付与する必要があります。

condition

object (google.type.Expr)

省略可。バインディングの条件。このフィールドの CEL 式が true の場合、このアクセス バインディングが考慮されます。

JSON 表現
{
  "projectId": string,
  "datasetId": string,
  "tableId": string,
  "projectIdAlternative": [
    string
  ],
  "datasetIdAlternative": [
    string
  ],
  "tableIdAlternative": [
    string
  ]
}
フィールド
projectId

string

必須。このテーブルを含むプロジェクトの ID。

datasetId

string

必須。このテーブルを含むデータセットの ID。

tableId

string

必須。テーブルの ID。ID には、カテゴリ L(文字)、M(マーク)、N(数字)、Pc(コネクタ、アンダースコアを含む)、Pd(ダッシュ)、Zs(スペース)の Unicode 文字を使用できます。詳しくは、一般カテゴリをご覧ください。最大文字数は 1,024 文字です。特定のオペレーションでは、sample_table$20190123 などのパーティション デコレータをテーブル ID に追加できます。

projectIdAlternative[]

string

このフィールドは使用しないでください。

datasetIdAlternative[]

string

このフィールドは使用しないでください。

tableIdAlternative[]

string

このフィールドは使用しないでください。

JSON 表現
{
  "projectId": string,
  "datasetId": string,
  "routineId": string
}
フィールド
projectId

string

必須。このルーティンを含むプロジェクトの ID。

datasetId

string

必須。このルーティンを含むデータセットの ID。

routineId

string

必須。ルーティンの ID。ID には、英字(a~z、A~Z)、数字(0~9)、アンダースコア(_)のみを含めることができます。最大文字数は 256 文字です。

JSON 表現
{
  "dataset": {
    object (DatasetReference)
  },
  "targetTypes": [
    enum (TargetType)
  ]
}
フィールド
dataset

object (DatasetReference)

このエントリが適用されるデータセット

targetTypes[]

enum (TargetType)

このエントリが適用されるデータセット内のリソース。現在サポートされているのはビューのみですが、今後、他のターゲット タイプが追加される可能性があります。

JSON 表現
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
フィールド
expression

string

Common Expression Language 構文による式のテキスト表現。

title

string

省略可。式のタイトル。式の目的を説明する短い文字列です。たとえば、式を入力できる UI でこれを使用します。

description

string

省略可。式の説明。式を説明する長いテキストです。たとえば、UI で式にカーソルを合わせたときに表示されます。

location

string

省略可。エラー報告用に式の場所を示す文字列。たとえば、ファイル名とファイル内の位置。

JSON 表現
{
  "kmsKeyName": string
}
フィールド
kmsKeyName

string

省略可。宛先 BigQuery テーブルの保護に使用される Cloud KMS 暗号鍵について説明します。プロジェクトに関連付けられている BigQuery サービス アカウントには、この暗号鍵へのアクセス権が必要です。

JSON 表現
{
  "value": boolean
}
フィールド
value

boolean

ブール値。

JSON 表現
{
  "sourceDataset": {
    object (DatasetReference)
  }
}
フィールド
sourceDataset

object (DatasetReference)

ソース データセット参照には、プロジェクト ID ではなくプロジェクト番号が含まれています。

JSON 表現
{
  "linkState": enum (LinkState)
}
フィールド
linkState

enum (LinkState)

出力専用。リンクされたデータセットが現在リンク状態にあるかどうかを指定します。

JSON 表現
{
  "externalSource": string,
  "connection": string
}
フィールド
externalSource

string

必須。このデータセットをバックアップする外部ソース。

connection

string

必須。external_source へのアクセスに使用される接続 ID。

形式: projects/{project_id}/locations/{location_id}/connections/{connection_id}

JSON 表現
{
  "parameters": {
    string: string,
    ...
  },
  "defaultStorageLocationUri": string
}
フィールド
parameters

map (key: string, value: string)

省略可。オープンソース スキーマのパラメータとプロパティを定義する Key-Value ペアのマップ。最大サイズは 2 MiB です。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

defaultStorageLocationUri

string

省略可。データセット内のすべてのテーブルのストレージ ロケーション URI。Hive メタストアの database locationUri と同等です。最大文字数: 1,024 文字。

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

JSON 表現
{
  "tagKey": string,
  "tagValue": string
}
フィールド
tagKey

string

必須。タグキーの名前空間のわかりやすい名前(例: 「12345/environment」。ここで、12345 は組織 ID です)。

tagValue

string

必須。タグ値のわかりやすい短い名前(「production」など)。

JSON 表現
{
  "type": enum (RestrictionType)
}
フィールド
type

enum (RestrictionType)

出力専用。データセット/テーブルの制限の種類を指定します。

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

ツールのアノテーション

破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌