ツール: 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 |
必須。データセット リクエストのプロジェクト ID。 |
datasetId |
必須。データセット リクエストのデータセット ID。 |
出力スキーマ
BigQuery データセットを表します。
| JSON 表現 |
|---|
{ "kind": string, "etag": string, "id": string, "selfLink": string, "datasetReference": { object ( |
| フィールド | |
|---|---|
kind |
出力専用。リソースの型。 |
etag |
出力専用。リソースのハッシュ。 |
id |
出力専用。projectId:datasetId 形式のデータセットの完全修飾一意名。datasetId フィールドに、プロジェクト名なしでデータセット名が示されます。新しいデータセットを作成する場合は、このフィールドを空白のままにし、代わりに datasetId フィールドを指定します。 |
selfLink |
出力専用。リソースに再度アクセスするために使用できる URL。この URL は、リソースに対する Get リクエストまたは Update リクエストで使用できます。 |
datasetReference |
必須。データセットを識別する参照。 |
friendlyName |
省略可。データセットのわかりやすい名前。 |
description |
省略可。データセットのわかりやすい説明。 |
defaultTableExpirationMs |
省略可。データセット内のすべてのテーブルのデフォルトの有効期間(ミリ秒)。最小存続時間値は 3,600,000 ミリ秒(1 時間)です。PATCH リクエストで既存のデフォルトの有効期限をクリアするには、0 に設定します。このプロパティを設定すると、データセット内に新しく作成されるすべてのテーブルの expirationTime プロパティが、作成時刻にこのプロパティの値を加えた時刻に設定されます。このプロパティの値を変更しても、既存のテーブルには影響しません。特定のテーブルの expirationTime に達すると、そのテーブルは自動的に削除されます。テーブルの有効期限が切れる前にテーブルの expirationTime が変更または削除された場合、またはテーブルの作成時に明示的な expirationTime を指定した場合、その値はこのプロパティで示されるデフォルトの有効期限よりも優先されます。 |
defaultPartitionExpirationMs |
このデフォルトのパーティションの有効期限(ミリ秒単位)。 このプロパティが設定されているデータセットに新しい時間パーティション分割テーブルが作成されると、テーブルはこの値を継承し、新しいテーブルの パーティション分割テーブルの作成時に |
labels |
このデータセットに関連付けられているラベル。これらを使用して、データセットを整理してグループ化できます。このプロパティは、データセットの挿入または更新時に設定できます。詳細については、データセット ラベルの作成と更新をご覧ください。
|
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 |
出力専用。このデータセットが作成された時刻(エポックからのミリ秒数)。 |
lastModifiedTime |
出力専用。このデータセットが最後に変更された日付(エポックからのミリ秒単位)。 |
location |
データセットが存在する地理的位置。サポートされているロケーションについては、https://cloud.google.com/bigquery/docs/locations をご覧ください。 |
defaultEncryptionConfiguration |
データセット内のすべてのテーブルのデフォルトの暗号鍵。このプロパティを設定すると、テーブル作成リクエストまたはクエリでキーが明示的にオーバーライドされない限り、データセット内の新しく作成されたすべてのテーブルの暗号鍵がこの値に設定されます。 |
satisfiesPzs |
出力専用。将来の使用のために予約。 |
satisfiesPzi |
出力専用。将来の使用のために予約。 |
type |
出力専用。
|
linkedDatasetSource |
省略可。データセットのタイプが LINKED の場合のソース データセット参照。他のすべてのデータセット タイプでは設定されません。このフィールドは、一度設定すると更新できません。Update API オペレーションと Patch API オペレーションを使用してこのフィールドを更新しようとしても、無視されます。 |
linkedDatasetMetadata |
出力専用。LinkedDataset に関するメタデータ。データセット タイプが LINKED の場合に記入されます。 |
externalDatasetReference |
省略可。BigQuery の外部のデータカタログで定義された読み取り専用の外部データセットへの参照。データセットのタイプが EXTERNAL の場合に設定されます。 |
externalCatalogDatasetOptions |
省略可。BigQuery カタログに存在するオープンソース互換のデータセットを定義するオプション。現在のデータセットで表されるオープンソース データベース、スキーマ、または名前空間のメタデータが含まれます。 |
isCaseInsensitive |
省略可。データセットとそのテーブル名で大文字と小文字を区別しない場合は TRUE、それ以外の場合は FALSE。デフォルトでは FALSE です。つまり、データセットとそのテーブル名では大文字と小文字が区別されます。このフィールドはルーティン参照には影響しません。 |
defaultCollation |
省略可。データセットで今後作成されるテーブルのデフォルトの照合順序を指定します。テーブルレベルのデフォルトの照合順序を指定せずにこのデータセットにテーブルを作成すると、テーブルはデータセットのデフォルトの照合順序を継承します。この照合順序は、明示的な照合順序が指定されていない文字列フィールドに適用されます。このフィールドを変更しても、既存のテーブルは変更されず、変更後に作成されたテーブルにのみ影響します。次の値を使用できます。
|
defaultRoundingMode |
省略可。このデータセット内に作成される新しいテーブルのデフォルトの丸めモードの仕様を定義します。テーブルの作成時にこのフィールドが指定されている場合、このデータセット内のテーブルはデータセットのデフォルトの丸めモードを継承します。テーブルにデフォルトの丸めモードを設定すると、このオプションがオーバーライドされます。データセット内の既存のテーブルには影響しません。テーブルの作成時に列が定義されている場合、特に指定がない限り、列はテーブルのデフォルトの丸めモードをすぐに継承します。 |
maxTimeTravelHours |
省略可。タイムトラベル期間を時間で定義します。値は 48 ~ 168 時間(2 ~ 7 日)の範囲で指定できます。設定しない場合、デフォルト値は 168 時間です。 |
tags[] |
出力専用。データセットのタグ。タグを入力として指定するには、 |
storageBillingModel |
省略可。データセットの storage_billing_model を更新します。 |
restrictions |
省略可。出力専用。すべてのテーブルとデータセットの制限構成。設定されている場合、構成に基づいてデータセットとそのすべてのテーブルに対する特定のアクセスを制限します。詳細については、データの下り(外向き)をご覧ください。 |
resourceTags |
省略可。このデータセットに適用されたタグ。タグキーはグローバルに一意です。タグキーは、名前空間形式(例: 「123456789012/environment」)で指定する必要があります。ここで、123456789012 は、このタグキーの親組織またはプロジェクト リソースの ID です。タグ値は略称(「Production」など)である必要があります。詳しくは、タグの定義をご覧ください。
|
| JSON 表現 |
|---|
{ "datasetId": string, "projectId": string, "datasetIdAlternative": [ string ], "projectIdAlternative": [ string ] } |
| フィールド | |
|---|---|
datasetId |
必須。プロジェクト名を指定しない、このデータセットの一意の ID。ID には、英字(a~z、A~Z)、数字(0~9)、アンダースコア(_)のみを含めることができます。最大長は 1,024 文字です。 |
projectId |
省略可。このデータセットを含むプロジェクトの ID。 |
datasetIdAlternative[] |
このフィールドは使用しないでください。 |
projectIdAlternative[] |
このフィールドは使用しないでください。 |
| JSON 表現 |
|---|
{ "value": string } |
| フィールド | |
|---|---|
value |
文字列値。 |
| JSON 表現 |
|---|
{ "value": string } |
| フィールド | |
|---|---|
value |
int64 値。 |
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
| JSON 表現 |
|---|
{ "role": string, "userByEmail": string, "groupByEmail": string, "domain": string, "specialGroup": string, "iamMember": string, "view": { object ( |
| フィールド | |
|---|---|
role |
このアクセス エントリで指定されたユーザー、グループ、またはドメインに付与される IAM ロール ID。次の以前のマッピングが適用されます。
このフィールドでは上記のいずれの形式も受け入れられますが、返されるのは以前の形式のみです。たとえば、このフィールドを「roles/bigquery.dataOwner」に設定すると、「OWNER」として返されます。 |
userByEmail |
[いずれか 1 つを選択] アクセス権を付与するユーザーのメールアドレス。例: fred@example.com。IAM ポリシー メンバー「user:EMAIL」または「serviceAccount:EMAIL」にマッピングされます。 |
groupByEmail |
[いずれかを選択] アクセス権を付与する Google グループのメールアドレス。IAM ポリシー メンバー「group:GROUP」にマッピングされます。 |
domain |
[1 つを選択] アクセスを付与するドメイン。ここで指定したドメインでログインするユーザー全員に、指定したアクセス権が付与されます。例: 「example.com」。IAM ポリシー メンバー「domain:DOMAIN」にマッピングされます。 |
specialGroup |
[いずれか 1 つを選択] アクセス権を付与する特別なグループ。値は次のとおりです。
同様の名前の IAM メンバーにマッピングされます。 |
iamMember |
[いずれか 1 つを選択] IAM ポリシーに表示されるが、ユーザー、グループ、ドメイン、特別なグループではない他のタイプのメンバー。 |
view |
[いずれか 1 つを選択] アクセス権を付与する別のデータセットのビュー。そのビューに対して実行されたクエリは、このデータセット内のビュー、テーブル、ルーティンに対する読み取りアクセス権を持ちます。このフィールドが設定されている場合、ロール フィールドは必須ではありません。そのビューがユーザーによって更新された場合は、更新オペレーションでビューへのアクセス権を再度付与する必要があります。 |
routine |
[いずれか 1 つを選択] アクセス権を付与する別のデータセットのルーティン。そのルーティンに対して実行されたクエリは、このデータセット内のビュー、テーブル、ルーティンに対する読み取りアクセス権を持ちます。現時点では UDF のみがサポートされています。このフィールドが設定されている場合、ロール フィールドは必須ではありません。そのルーティンがユーザーによって更新された場合、更新オペレーションを介してルーティンへのアクセス権を再度付与する必要があります。 |
dataset |
[いずれか 1 つを選択] 特定のデータセット内の特定のタイプのリソースすべてに、このデータセットへのアクセスを承認する権限付与。現時点では、ビューのみがサポートされています。このフィールドが設定されている場合、ロール フィールドは必須ではありません。そのデータセットが削除されて再作成された場合は、更新オペレーションでアクセス権を再度付与する必要があります。 |
condition |
省略可。バインディングの条件。このフィールドの CEL 式が true の場合、このアクセス バインディングが考慮されます。 |
| JSON 表現 |
|---|
{ "projectId": string, "datasetId": string, "tableId": string, "projectIdAlternative": [ string ], "datasetIdAlternative": [ string ], "tableIdAlternative": [ string ] } |
| フィールド | |
|---|---|
projectId |
必須。このテーブルを含むプロジェクトの ID。 |
datasetId |
必須。このテーブルを含むデータセットの ID。 |
tableId |
必須。テーブルの ID。ID には、カテゴリ L(文字)、M(マーク)、N(数字)、Pc(コネクタ、アンダースコアを含む)、Pd(ダッシュ)、Zs(スペース)の Unicode 文字を使用できます。詳しくは、一般カテゴリをご覧ください。最大文字数は 1,024 文字です。特定のオペレーションでは、 |
projectIdAlternative[] |
このフィールドは使用しないでください。 |
datasetIdAlternative[] |
このフィールドは使用しないでください。 |
tableIdAlternative[] |
このフィールドは使用しないでください。 |
| JSON 表現 |
|---|
{ "projectId": string, "datasetId": string, "routineId": string } |
| フィールド | |
|---|---|
projectId |
必須。このルーティンを含むプロジェクトの ID。 |
datasetId |
必須。このルーティンを含むデータセットの ID。 |
routineId |
必須。ルーティンの ID。ID には、英字(a~z、A~Z)、数字(0~9)、アンダースコア(_)のみを含めることができます。最大文字数は 256 文字です。 |
| JSON 表現 |
|---|
{ "dataset": { object ( |
| フィールド | |
|---|---|
dataset |
このエントリが適用されるデータセット |
targetTypes[] |
このエントリが適用されるデータセット内のリソース。現在サポートされているのはビューのみですが、今後、他のターゲット タイプが追加される可能性があります。 |
| JSON 表現 |
|---|
{ "expression": string, "title": string, "description": string, "location": string } |
| フィールド | |
|---|---|
expression |
Common Expression Language 構文による式のテキスト表現。 |
title |
省略可。式のタイトル。式の目的を説明する短い文字列です。たとえば、式を入力できる UI でこれを使用します。 |
description |
省略可。式の説明。式を説明する長いテキストです。たとえば、UI で式にカーソルを合わせたときに表示されます。 |
location |
省略可。エラー報告用に式の場所を示す文字列。たとえば、ファイル名とファイル内の位置。 |
| JSON 表現 |
|---|
{ "kmsKeyName": string } |
| フィールド | |
|---|---|
kmsKeyName |
省略可。宛先 BigQuery テーブルの保護に使用される Cloud KMS 暗号鍵について説明します。プロジェクトに関連付けられている BigQuery サービス アカウントには、この暗号鍵へのアクセス権が必要です。 |
| JSON 表現 |
|---|
{ "value": boolean } |
| フィールド | |
|---|---|
value |
ブール値。 |
| JSON 表現 |
|---|
{
"sourceDataset": {
object ( |
| フィールド | |
|---|---|
sourceDataset |
ソース データセット参照には、プロジェクト ID ではなくプロジェクト番号が含まれています。 |
| JSON 表現 |
|---|
{
"linkState": enum ( |
| フィールド | |
|---|---|
linkState |
出力専用。リンクされたデータセットが現在リンク状態にあるかどうかを指定します。 |
| JSON 表現 |
|---|
{ "externalSource": string, "connection": string } |
| フィールド | |
|---|---|
externalSource |
必須。このデータセットをバックアップする外部ソース。 |
connection |
必須。external_source へのアクセスに使用される接続 ID。 形式: projects/{project_id}/locations/{location_id}/connections/{connection_id} |
| JSON 表現 |
|---|
{ "parameters": { string: string, ... }, "defaultStorageLocationUri": string } |
| フィールド | |
|---|---|
parameters |
省略可。オープンソース スキーマのパラメータとプロパティを定義する Key-Value ペアのマップ。最大サイズは 2 MiB です。
|
defaultStorageLocationUri |
省略可。データセット内のすべてのテーブルのストレージ ロケーション URI。Hive メタストアの database locationUri と同等です。最大文字数: 1,024 文字。 |
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
| JSON 表現 |
|---|
{ "tagKey": string, "tagValue": string } |
| フィールド | |
|---|---|
tagKey |
必須。タグキーの名前空間のわかりやすい名前(例: 「12345/environment」。ここで、12345 は組織 ID です)。 |
tagValue |
必須。タグ値のわかりやすい短い名前(「production」など)。 |
| JSON 表現 |
|---|
{
"type": enum ( |
| フィールド | |
|---|---|
type |
出力専用。データセット/テーブルの制限の種類を指定します。 |
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
ツールのアノテーション
破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌