MCP Tools Reference: bigquery.googleapis.com

도구: 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

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)

선택사항입니다. 하나 이상의 항목에 대한 데이터 세트 액세스를 정의하는 객체의 배열입니다. 데이터에 액세스할 수 있는 사용자를 관리하기 위해 데이터 세트를 삽입하거나 업데이트할 때 이 속성을 설정할 수 있습니다. 데이터 세트 생성 시 지정되지 않은 경우 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

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 - 소유자 및 승인된 계정만 액세스할 수 있습니다.
  • 공개 - 누구나 액세스할 수 있습니다.
  • LINKED - 연결된 데이터 세트
  • EXTERNAL - 외부 메타데이터 카탈로그에 정의가 있는 데이터 세트입니다.
linkedDatasetSource

object (LinkedDatasetSource)

선택사항입니다. 데이터 세트가 LINKED 유형인 경우의 소스 데이터 세트 참조입니다. 다른 모든 데이터 세트 유형의 경우 설정되지 않습니다. 이 필드는 설정한 후에는 업데이트할 수 없습니다. 업데이트 및 패치 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

[하나 선택] 액세스 권한을 부여할 사용자의 이메일 주소입니다. 예: [email protected]. IAM 정책 구성원 'user:EMAIL' 또는 'serviceAccount:EMAIL'에 매핑됩니다.

groupByEmail

string

[하나 선택] 액세스 권한을 부여할 Google 그룹의 이메일 주소입니다. IAM 정책 구성원 'group:GROUP'에 매핑됩니다.

domain

string

[하나 선택] 액세스 권한을 부여할 도메인입니다. 지정된 도메인으로 로그인한 모든 사용자에게 지정된 액세스 권한이 부여됩니다. 예: 'example.com' IAM 정책 구성원 'domain:DOMAIN'에 매핑됩니다.

specialGroup

string

[하나 선택] 액세스 권한을 부여할 특별 그룹입니다. 가능한 값은 다음과 같습니다.

  • projectOwners: 포함된 프로젝트의 소유자입니다.
  • projectReaders: 바깥쪽 프로젝트의 리더입니다.
  • projectWriters: 바깥쪽 프로젝트의 작성자입니다.
  • allAuthenticatedUsers: 인증된 모든 BigQuery 사용자입니다.

이름이 비슷한 IAM 구성원에 매핑됩니다.

iamMember

string

[하나 선택] IAM 정책에 표시되지만 사용자, 그룹, 도메인 또는 특수 그룹이 아닌 다른 유형의 구성원

view

object (TableReference)

[하나 선택] 액세스 권한을 부여할 다른 데이터 세트의 뷰입니다. 해당 뷰에 대해 실행된 쿼리는 이 데이터 세트의 뷰/테이블/루틴에 대한 읽기 액세스 권한을 갖습니다. 이 필드가 설정된 경우 역할 필드는 필수가 아닙니다. 해당 보기가 사용자에 의해 업데이트되는 경우 업데이트 작업을 통해 보기에 대한 액세스 권한을 다시 부여해야 합니다.

routine

object (RoutineReference)

[하나 선택] 액세스 권한을 부여할 다른 데이터 세트의 루틴입니다. 해당 루틴에 대해 실행된 쿼리는 이 데이터 세트의 뷰/테이블/루틴에 대한 읽기 액세스 권한을 갖습니다. 현재는 UDF만 지원됩니다. 이 필드가 설정된 경우 역할 필드는 필수가 아닙니다. 이 루틴이 사용자에 의해 업데이트되면 업데이트 작업을 통해 루틴에 대한 액세스 권한을 다시 부여해야 합니다.

dataset

object (DatasetAccessEntry)

[하나 선택] 특정 데이터 세트의 특정 유형의 모든 리소스가 이 데이터 세트에 액세스하도록 승인하는 권한 부여입니다. 현재는 뷰만 지원됩니다. 이 필드가 설정된 경우 역할 필드는 필수가 아닙니다. 해당 데이터 세트가 삭제되고 다시 생성되면 업데이트 작업을 통해 액세스 권한을 다시 부여해야 합니다.

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 (공백) 카테고리의 유니코드가 포함될 수 있습니다. 자세한 내용은 일반 카테고리를 참고하세요. 최대 길이는 1,024자(영문 기준)입니다. 특정 작업에서는 테이블 ID에 sample_table$20190123과 같은 파티션 데코레이터를 추가할 수 있습니다.

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)

선택사항입니다. 오픈소스 스키마의 매개변수와 속성을 정의하는 키-값 쌍의 맵입니다. 최대 크기는 2MiB입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

defaultStorageLocationUri

string

선택사항입니다. 데이터 세트의 모든 테이블의 스토리지 위치 URI입니다. Hive 메타스토어의 databaseLocationUri와 동일합니다. 최대 길이 1,024자(영문 기준)

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

value

string

JSON 표현
{
  "tagKey": string,
  "tagValue": string
}
필드
tagKey

string

필수 항목입니다. 태그 키의 네임스페이스화된 친숙한 이름입니다(예: 12345가 조직 ID인 경우 '12345/environment').

tagValue

string

필수 항목입니다. 태그 값의 친숙한 약식 이름입니다(예: 'production').

JSON 표현
{
  "type": enum (RestrictionType)
}
필드
type

enum (RestrictionType)

출력 전용입니다. 데이터 세트/표 제한 유형을 지정합니다.

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

value

string

도구 주석

파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌