MCP Tools Reference: dataform.googleapis.com

도구: get_compilation_result

단일 Dataform 컴파일 결과를 가져옵니다.

name 매개변수 값은 projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result} 형식이어야 합니다.

다음 코드 샘플은 curl를 사용하여 get_compilation_result MCP 도구를 호출하는 방법을 보여줍니다.

curl 요청
curl --location 'https://dataform.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_compilation_result",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

입력 스키마

GetCompilationResult 요청 메시지입니다.

GetCompilationResultRequest

JSON 표현
{
  "name": string
}
필드
name

string

필수 항목입니다. 컴파일 결과의 이름입니다.

출력 스키마

Dataform 프로젝트 컴파일 결과를 나타냅니다.

CompilationResult

JSON 표현
{
  "name": string,
  "codeCompilationConfig": {
    object (CodeCompilationConfig)
  },
  "resolvedGitCommitSha": string,
  "dataformCoreVersion": string,
  "compilationErrors": [
    {
      object (CompilationError)
    }
  ],
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "createTime": string,
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "gcsRepositorySnapshotMetadata": {
    object (GcsRepositorySnapshotMetadata)
  },

  // Union field source can be only one of the following:
  "gitCommitish": string,
  "workspace": string,
  "releaseConfig": string
  // End of list of possible types for union field source.

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.
}
필드
name

string

출력 전용입니다. 컴파일 결과의 이름입니다.

codeCompilationConfig

object (CodeCompilationConfig)

변경할 수 없습니다. 설정된 경우 code_compilation_config 필드는 dataform.json에 지정된 기본 컴파일 설정을 재정의합니다.

resolvedGitCommitSha

string

출력 전용입니다. 컴파일된 코드의 완전히 해결된 Git 커밋 SHA입니다. 소스가 작업공간인 컴파일 결과에는 설정되지 않습니다.

dataformCoreVersion

string

출력 전용입니다. 컴파일에 사용된 @dataform/core 버전입니다.

compilationErrors[]

object (CompilationError)

출력 전용입니다. 프로젝트 컴파일 중에 발생한 오류입니다.

dataEncryptionState

object (DataEncryptionState)

출력 전용입니다. 저장소에 KMS 키가 있는 경우에만 설정됩니다.

createTime

string (Timestamp format)

출력 전용입니다. 컴파일 결과가 생성된 시간의 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

privateResourceMetadata

object (PrivateResourceMetadata)

출력 전용입니다. 이 리소스가 사용자 범위인지 여부를 나타내는 메타데이터입니다. CompilationResult 리소스는 워크스페이스에서 가져온 경우에만 user_scoped입니다.

gcsRepositorySnapshotMetadata

object (GcsRepositorySnapshotMetadata)

출력 전용입니다. 예약된 노트북에서 사용하는 저장소 스냅샷에 관한 메타데이터입니다.

통합 필드 source. 컴파일 결과의 소스입니다. source은 다음 중 하나여야 합니다.
gitCommitish

string

변경할 수 없습니다. 저장소를 컴파일해야 하는 Git 커밋/태그/브랜치 이름입니다. 원격 저장소에 있어야 합니다. 예: - 커밋 SHA: 12ade345 - 태그: tag1 - 브랜치 이름: branch1

workspace

string

변경할 수 없습니다. 컴파일할 작업공간의 이름입니다. projects/*/locations/*/repositories/*/workspaces/* 형식이어야 합니다.

releaseConfig

string

변경할 수 없습니다. 컴파일할 출시 구성의 이름입니다. projects/*/locations/*/repositories/*/releaseConfigs/* 형식이어야 합니다.

통합 필드 _internal_metadata.

_internal_metadata는 다음 중 하나여야 합니다.

internalMetadata

string

출력 전용입니다. 리소스를 제공하기 위해 내부적으로 사용되는 모든 메타데이터 정보입니다. 예: 타임스탬프, 플래그, 상태 필드 등 이 필드의 형식은 JSON 문자열입니다.

CodeCompilationConfig

JSON 표현
{
  "defaultDatabase": string,
  "defaultSchema": string,
  "defaultLocation": string,
  "assertionSchema": string,
  "vars": {
    string: string,
    ...
  },
  "databaseSuffix": string,
  "schemaSuffix": string,
  "tablePrefix": string,
  "builtinAssertionNamePrefix": string,
  "defaultNotebookRuntimeOptions": {
    object (NotebookRuntimeOptions)
  },
  "pipelineConfig": {
    object (PipelineConfig)
  }
}
필드
defaultDatabase

string

(선택사항) 기본 데이터베이스(Google Cloud 프로젝트 ID)입니다.

defaultSchema

string

(선택사항) 기본 스키마(BigQuery 데이터 세트 ID)입니다.

defaultLocation

string

(선택사항) 사용할 기본 BigQuery 위치입니다. 기본값은 'US'입니다. 전체 위치 목록은 BigQuery 문서(https://cloud.google.com/bigquery/docs/locations)를 참고하세요.

assertionSchema

string

(선택사항) 어설션의 기본 스키마(BigQuery 데이터 세트 ID)입니다.

vars

map (key: string, value: string)

(선택사항) 컴파일 중에 프로젝트 코드에서 사용할 수 있는 사용자 정의 변수입니다.

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

databaseSuffix

string

(선택사항) 모든 데이터베이스 (Google Cloud 프로젝트 ID) 이름에 추가해야 하는 서픽스입니다.

schemaSuffix

string

(선택사항) 모든 스키마 (BigQuery 데이터 세트 ID) 이름에 추가해야 하는 서픽스입니다.

tablePrefix

string

(선택사항) 모든 테이블 이름 앞에 추가되어야 하는 프리픽스입니다.

builtinAssertionNamePrefix

string

(선택사항) 기본 제공 어설션 이름 앞에 추가할 접두사입니다.

defaultNotebookRuntimeOptions

object (NotebookRuntimeOptions)

(선택사항) 기본 노트북 런타임 옵션입니다.

pipelineConfig

object (PipelineConfig)

(선택사항) Git 저장소 내의 파이프라인 유형과 경로를 정의하는 파이프라인 옵션입니다.

VarsEntry

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

string

value

string

NotebookRuntimeOptions

JSON 표현
{
  "aiPlatformNotebookRuntimeTemplate": string,

  // Union field execution_sink can be only one of the following:
  "gcsOutputBucket": string
  // End of list of possible types for union field execution_sink.

  // Union field repository_snapshot_storage can be only one of the following:
  "gcsRepositorySnapshotDestination": {
    object (GcsRepositorySnapshotDestination)
  }
  // End of list of possible types for union field repository_snapshot_storage.
}
필드
aiPlatformNotebookRuntimeTemplate

string

(선택사항) 노트북 실행을 위해 런타임이 생성되는 Colab 런타임 템플릿의 리소스 이름입니다. 지정하지 않으면 Colab의 기본 사양으로 런타임이 생성됩니다.

통합 필드 execution_sink. 노트북 실행 결과를 저장할 위치입니다. execution_sink은 다음 중 하나여야 합니다.
gcsOutputBucket

string

(선택사항) 결과를 업로드할 Google Cloud Storage 위치입니다. 형식은 gs://bucket-name입니다.

통합 필드 repository_snapshot_storage. 노트북 런타임 repository_snapshot_storage 내에서 읽기 전용 액세스에 사용할 수 있는 저장소 파일 스냅샷의 대상은 다음 중 하나여야 합니다.
gcsRepositorySnapshotDestination

object (GcsRepositorySnapshotDestination)

(선택사항) 스냅샷을 업로드할 Google Cloud Storage 대상입니다. 빈 URI의 경우 제공된 gcs_output_bucket이 기본값입니다. 형식은 gs://bucket-name/path/입니다.

GcsRepositorySnapshotDestination

JSON 표현
{
  "repositorySnapshotUri": string
}
필드
repositorySnapshotUri

string

(선택사항) 저장소 스냅샷을 업로드할 Google Cloud Storage 대상입니다. 형식은 gs://bucket-name/path/입니다.

PipelineConfig

JSON 표현
{
  "pipelineType": enum (PipelineType),
  "path": string
}
필드
pipelineType

enum (PipelineType)

필수 항목입니다. 파이프라인 유형입니다.

path

string

필수 항목입니다. 파이프라인이 정의된 Git 저장소 내의 상대 경로입니다. 예를 들어 Dataform 파이프라인의 경우 workflow_settings.yaml 또는 dataform.json이 있는 폴더의 경로입니다.

CompilationError

JSON 표현
{
  "message": string,
  "stack": string,
  "path": string,
  "actionTarget": {
    object (Target)
  }
}
필드
message

string

출력 전용입니다. 오류의 최상위 메시지입니다.

stack

string

출력 전용입니다. 오류의 전체 스택 트레이스입니다.

path

string

출력 전용입니다. 이 오류가 발생한 파일의 경로입니다(있는 경우). 프로젝트 루트를 기준으로 합니다.

actionTarget

object (Target)

출력 전용입니다. 이 오류가 발생한 작업의 식별자입니다(있는 경우).

대상

JSON 표현
{
  "database": string,
  "schema": string,
  "name": string
}
필드
database

string

(선택사항) 작업의 데이터베이스 (Google Cloud 프로젝트 ID)입니다.

schema

string

(선택사항) database 내의 작업 스키마 (BigQuery 데이터 세트 ID)입니다.

name

string

(선택사항) databaseschema 내의 작업 이름입니다.

DataEncryptionState

JSON 표현
{
  "kmsKeyVersionName": string
}
필드
kmsKeyVersionName

string

필수 항목입니다. 리소스의 데이터가 암호화되는 KMS 키 버전 이름입니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다.

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다.

PrivateResourceMetadata

JSON 표현
{
  "userScoped": boolean
}
필드
userScoped

boolean

출력 전용입니다. true인 경우 이 리소스는 사용자 범위입니다. 즉, 작업공간이거나 작업공간에서 가져온 것입니다.

GcsRepositorySnapshotMetadata

JSON 표현
{
  "repositorySnapshotUri": string,
  "crc32cChecksum": string,
  "generation": string
}
필드
repositorySnapshotUri

string

출력 전용입니다. 저장소 스냅샷의 Google Cloud Storage URI입니다.

crc32cChecksum

string

출력 전용입니다. 저장소 스냅샷의 crc32c 체크섬입니다. 빅 엔디안 base64로 인코딩됩니다.

generation

string (int64 format)

출력 전용입니다. Cloud Storage 객체의 세대 번호입니다. https://cloud.google.com/storage/docs/metadata#generation-number를 참고하세요.

PipelineType

파이프라인 유형입니다. 향후 연장될 수 있습니다. UNSPECIFIED인 경우 오류가 발생합니다.

열거형
PIPELINE_TYPE_UNSPECIFIED 기본값 이 값은 사용되지 않습니다.
DATAFORM 일반 Dataform 파이프라인입니다.
SQL SQL 단일 파일 애셋입니다.
NOTEBOOK 노트북 단일 파일 애셋입니다.

도구 주석

도구 주석은 특정 도구의 기본 위험을 설명하기 위해 MCP 클라이언트로 전송됩니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 사용자에게 확인 메시지를 전송할 시점을 결정하는 데 사용할 수 있습니다.

제목 문자열과 함께 다음 불리언 힌트가 다음과 같이 정의됩니다.

  • readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.
  • destructiveHint: true인 경우 도구가 파괴적인 작업을 실행할 수 있습니다. false인 경우 도구는 추가 작업만 실행할 수 있습니다. 기본값은 true입니다.
  • idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.
  • openWorldHint: true인 경우 도구가 외부 엔티티의 '오픈 월드'와 상호작용할 수 있습니다. false인 경우 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.

파괴적 힌트: ❌ | 멱등성 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌