도구: get_dataset_info
BigQuery 데이터 세트에 관한 메타데이터 정보를 가져옵니다.
다음 샘플은 curl를 사용하여 get_dataset_info MCP 도구를 호출하는 방법을 보여줍니다.
| 컬 요청 |
|---|
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[] |
선택사항입니다. 하나 이상의 항목에 대한 데이터 세트 액세스를 정의하는 객체의 배열입니다. 데이터에 액세스할 수 있는 사용자를 관리하기 위해 데이터 세트를 삽입하거나 업데이트할 때 이 속성을 설정할 수 있습니다. 데이터 세트 생성 시 지정되지 않은 경우 BigQuery는 다음 항목에 대한 기본 데이터 세트 액세스 권한을 추가합니다. access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER; 데이터 세트를 패치하면 이 필드가 패치된 데이터 세트의 액세스 필드로 덮어쓰여집니다. 엔티티를 추가하려면 추가하려는 새 엔티티 외에도 기존 액세스 배열 전체를 제공해야 합니다. |
creationTime |
출력 전용입니다. 이 데이터 세트가 생성된 시간입니다(단위: 에포크 이후 경과된 밀리초). |
lastModifiedTime |
출력 전용입니다. 이 데이터 세트가 마지막으로 수정된 날짜입니다(에포크 이후의 경과 시간(밀리초)). |
location |
데이터 세트가 있어야 하는 지리적 위치입니다. 지원되는 위치는 https://cloud.google.com/bigquery/docs/locations를 참고하세요. |
defaultEncryptionConfiguration |
데이터 세트의 모든 테이블에 대한 기본 암호화 키입니다. 이 속성이 설정되면 테이블 생성 요청 또는 쿼리에서 키를 명시적으로 재정의하지 않는 한 데이터 세트에서 새로 생성된 모든 테이블의 암호화 키가 이 값으로 설정됩니다. |
satisfiesPzs |
출력 전용입니다. 나중에 사용하기 위해 예약되어 있습니다. |
satisfiesPzi |
출력 전용입니다. 나중에 사용하기 위해 예약되어 있습니다. |
type |
출력 전용입니다.
|
linkedDatasetSource |
선택사항입니다. 데이터 세트가 LINKED 유형인 경우의 소스 데이터 세트 참조입니다. 다른 모든 데이터 세트 유형의 경우 설정되지 않습니다. 이 필드는 설정한 후에는 업데이트할 수 없습니다. 업데이트 및 패치 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 |
[하나 선택] 액세스 권한을 부여할 사용자의 이메일 주소입니다. 예: [email protected]. IAM 정책 구성원 'user:EMAIL' 또는 'serviceAccount:EMAIL'에 매핑됩니다. |
groupByEmail |
[하나 선택] 액세스 권한을 부여할 Google 그룹의 이메일 주소입니다. IAM 정책 구성원 'group:GROUP'에 매핑됩니다. |
domain |
[하나 선택] 액세스 권한을 부여할 도메인입니다. 지정된 도메인으로 로그인한 모든 사용자에게 지정된 액세스 권한이 부여됩니다. 예: 'example.com' IAM 정책 구성원 'domain:DOMAIN'에 매핑됩니다. |
specialGroup |
[하나 선택] 액세스 권한을 부여할 특별 그룹입니다. 가능한 값은 다음과 같습니다.
이름이 비슷한 IAM 구성원에 매핑됩니다. |
iamMember |
[하나 선택] IAM 정책에 표시되지만 사용자, 그룹, 도메인 또는 특수 그룹이 아닌 다른 유형의 구성원 |
view |
[하나 선택] 액세스 권한을 부여할 다른 데이터 세트의 뷰입니다. 해당 뷰에 대해 실행된 쿼리는 이 데이터 세트의 뷰/테이블/루틴에 대한 읽기 액세스 권한을 갖습니다. 이 필드가 설정된 경우 역할 필드는 필수가 아닙니다. 해당 보기가 사용자에 의해 업데이트되는 경우 업데이트 작업을 통해 보기에 대한 액세스 권한을 다시 부여해야 합니다. |
routine |
[하나 선택] 액세스 권한을 부여할 다른 데이터 세트의 루틴입니다. 해당 루틴에 대해 실행된 쿼리는 이 데이터 세트의 뷰/테이블/루틴에 대한 읽기 액세스 권한을 갖습니다. 현재는 UDF만 지원됩니다. 이 필드가 설정된 경우 역할 필드는 필수가 아닙니다. 이 루틴이 사용자에 의해 업데이트되면 업데이트 작업을 통해 루틴에 대한 액세스 권한을 다시 부여해야 합니다. |
dataset |
[하나 선택] 특정 데이터 세트의 특정 유형의 모든 리소스가 이 데이터 세트에 액세스하도록 승인하는 권한 부여입니다. 현재는 뷰만 지원됩니다. 이 필드가 설정된 경우 역할 필드는 필수가 아닙니다. 해당 데이터 세트가 삭제되고 다시 생성되면 업데이트 작업을 통해 액세스 권한을 다시 부여해야 합니다. |
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 (공백) 카테고리의 유니코드가 포함될 수 있습니다. 자세한 내용은 일반 카테고리를 참고하세요. 최대 길이는 1,024자(영문 기준)입니다. 특정 작업에서는 테이블 ID에 |
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 |
선택사항입니다. 오픈소스 스키마의 매개변수와 속성을 정의하는 키-값 쌍의 맵입니다. 최대 크기는 2MiB입니다.
|
defaultStorageLocationUri |
선택사항입니다. 데이터 세트의 모든 테이블의 스토리지 위치 URI입니다. Hive 메타스토어의 databaseLocationUri와 동일합니다. 최대 길이 1,024자(영문 기준) |
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
| JSON 표현 |
|---|
{ "tagKey": string, "tagValue": string } |
| 필드 | |
|---|---|
tagKey |
필수 항목입니다. 태그 키의 네임스페이스화된 친숙한 이름입니다(예: 12345가 조직 ID인 경우 '12345/environment'). |
tagValue |
필수 항목입니다. 태그 값의 친숙한 약식 이름입니다(예: 'production'). |
| JSON 표현 |
|---|
{
"type": enum ( |
| 필드 | |
|---|---|
type |
출력 전용입니다. 데이터 세트/표 제한 유형을 지정합니다. |
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
도구 주석
파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌