MCP Tools Reference: dataform.googleapis.com

도구: query_compilation_actions

지정된 Dataform 컴파일 결과의 컴파일 결과 작업을 반환합니다.

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

다음 샘플은 curl를 사용하여 query_compilation_actions 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": "query_compilation_actions",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

입력 스키마

QueryCompilationResultActions 요청 메시지입니다.

QueryCompilationResultActionsRequest

JSON 표현
{
  "name": string,
  "pageSize": integer,
  "pageToken": string,
  "filter": string
}
필드
name

string

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

pageSize

integer

선택사항입니다. 반환할 최대 컴파일 결과 수입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다.

pageToken

string

선택사항입니다. 이전 QueryCompilationResultActions 호출에서 받은 페이지 토큰입니다. 후속 페이지를 검색하려면 이를 입력합니다.

페이지로 나누는 경우 page_size을 제외하고 QueryCompilationResultActions에 제공된 다른 모든 매개변수가 페이지 토큰을 제공한 호출과 일치해야 합니다.

filter

string

선택사항입니다. 반환된 목록의 선택적 필터입니다. 현재 필터링은 file_path 필드에서만 지원됩니다.

출력 스키마

QueryCompilationResultActions 응답 메시지입니다.

QueryCompilationResultActionsResponse

JSON 표현
{
  "compilationResultActions": [
    {
      object (CompilationResultAction)
    }
  ],
  "nextPageToken": string
}
필드
compilationResultActions[]

object (CompilationResultAction)

컴파일 결과 작업 목록입니다.

nextPageToken

string

다음 페이지를 검색하기 위해 page_token으로 전송할 수 있는 토큰입니다. 이 필드를 생략하면 후속 페이지가 표시되지 않습니다.

CompilationResultAction

JSON 표현
{
  "target": {
    object (Target)
  },
  "canonicalTarget": {
    object (Target)
  },
  "filePath": string,

  // Union field compiled_object can be only one of the following:
  "relation": {
    object (Relation)
  },
  "operations": {
    object (Operations)
  },
  "assertion": {
    object (Assertion)
  },
  "declaration": {
    object (Declaration)
  },
  "notebook": {
    object (Notebook)
  },
  "dataPreparation": {
    object (DataPreparation)
  }
  // End of list of possible types for union field compiled_object.

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

object (Target)

이 작업의 식별자입니다. 컴파일 결과 내에서 고유합니다.

canonicalTarget

object (Target)

재정의가 구성되지 않은 상태로 프로젝트가 컴파일된 경우 작업의 식별자입니다. 컴파일 결과 내에서 고유합니다.

filePath

string

이 작업이 있는 파일의 전체 경로입니다(파일 이름 포함). 작업공간 루트를 기준으로 합니다.

통합 필드 compiled_object. 컴파일된 객체입니다. compiled_object은 다음 중 하나여야 합니다.
relation

object (Relation)

이 작업으로 생성/업데이트된 데이터베이스 관계입니다.

operations

object (Operations)

이 작업으로 실행된 데이터베이스 작업입니다.

assertion

object (Assertion)

이 작업으로 실행된 어설션입니다.

declaration

object (Declaration)

이 작업에서 선언한 선언입니다.

notebook

object (Notebook)

이 작업으로 실행된 노트북입니다.

dataPreparation

object (DataPreparation)

이 작업으로 실행된 데이터 준비입니다.

통합 필드 _internal_metadata.

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

internalMetadata

string

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

관계

JSON 표현
{
  "dependencyTargets": [
    {
      object (Target)
    }
  ],
  "disabled": boolean,
  "tags": [
    string
  ],
  "relationDescriptor": {
    object (RelationDescriptor)
  },
  "relationType": enum (RelationType),
  "selectQuery": string,
  "preOperations": [
    string
  ],
  "postOperations": [
    string
  ],
  "incrementalTableConfig": {
    object (IncrementalTableConfig)
  },
  "partitionExpression": string,
  "clusterExpressions": [
    string
  ],
  "partitionExpirationDays": integer,
  "requirePartitionFilter": boolean,
  "additionalOptions": {
    string: string,
    ...
  },
  "connection": string,
  "tableFormat": enum (TableFormat),
  "fileFormat": enum (FileFormat),
  "storageUri": string
}
필드
dependencyTargets[]

object (Target)

이 작업이 종속된 작업 목록입니다.

disabled

boolean

이 작업이 사용 중지되었는지 여부입니다 (즉, 실행하면 안 됨).

tags[]

string

이 작업에 대한 임의의 사용자 정의 태그입니다.

relationDescriptor

object (RelationDescriptor)

관계 및 해당 열의 설명어입니다.

relationType

enum (RelationType)

이 관계의 유형입니다.

selectQuery

string

이 관계가 포함해야 하는 행을 반환하는 SELECT 쿼리입니다.

preOperations[]

string

관계 생성 전에 실행할 SQL 문입니다.

postOperations[]

string

관계 생성 후 실행할 SQL 문입니다.

incrementalTableConfig

object (IncrementalTableConfig)

이 관계의 INCREMENTAL_TABLE 설정을 구성합니다. relation_typeINCREMENTAL_TABLE인 경우에만 설정됩니다.

partitionExpression

string

관계를 파티셔닝하는 데 사용되는 SQL 표현식입니다.

clusterExpressions[]

string

테이블을 클러스터링하는 데 사용되는 열 또는 SQL 표현식 목록입니다.

partitionExpirationDays

integer

파티션 만료 시간을 일 단위로 설정합니다.

requirePartitionFilter

boolean

이 테이블의 쿼리에 파티션 나누기 열을 필터링하는 조건자 필터가 포함되어야 하는지 여부를 지정합니다.

additionalOptions

map (key: string, value: string)

테이블/뷰 생성 문의 옵션 절에 키/값 쌍으로 제공될 추가 옵션입니다. 지원되는 옵션에 대한 자세한 내용은 https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language를 참고하세요.

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

connection

string

선택사항입니다. Cloud Storage와 같은 외부 스토리지를 읽고 쓰는 데 사용할 사용자 인증 정보를 지정하는 연결입니다. 연결은 {project}.{location}.{connection_id} 또는 projects/{project}/locations/{location}/connections/{connection_id} 형식을 가질 수 있으며 DEFAULT로 설정할 수도 있습니다.

tableFormat

enum (TableFormat)

선택사항입니다. BigQuery 테이블의 테이블 형식입니다.

fileFormat

enum (FileFormat)

선택사항입니다. BigQuery 테이블의 파일 형식입니다.

storageUri

string

선택사항입니다. 테이블 데이터가 저장된 외부 폴더의 정규화된 위치 접두사입니다. URI는 gs://bucket/path_to_table/ 형식이어야 합니다.

대상

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

string

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

schema

string

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

name

string

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

RelationDescriptor

JSON 표현
{
  "description": string,
  "columns": [
    {
      object (ColumnDescriptor)
    }
  ],
  "bigqueryLabels": {
    string: string,
    ...
  }
}
필드
description

string

관계에 대한 텍스트 설명입니다.

columns[]

object (ColumnDescriptor)

관계 내의 열에 대한 설명 목록입니다.

bigqueryLabels

map (key: string, value: string)

관계에 적용해야 하는 BigQuery 라벨 집합입니다.

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

ColumnDescriptor

JSON 표현
{
  "path": [
    string
  ],
  "description": string,
  "bigqueryPolicyTags": [
    string
  ]
}
필드
path[]

string

열의 식별자입니다. path의 각 항목은 하나의 중첩 수준을 나타냅니다.

description

string

열의 텍스트 설명입니다.

bigqueryPolicyTags[]

string

열에 적용할 BigQuery 정책 태그 목록입니다.

BigqueryLabelsEntry

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

string

value

string

IncrementalTableConfig

JSON 표현
{
  "incrementalSelectQuery": string,
  "refreshDisabled": boolean,
  "uniqueKeyParts": [
    string
  ],
  "updatePartitionFilter": string,
  "incrementalPreOperations": [
    string
  ],
  "incrementalPostOperations": [
    string
  ]
}
필드
incrementalSelectQuery

string

이미 존재하고 새로고침되지 않은 경우 관계에 삽입되어야 하는 행을 반환하는 SELECT 쿼리입니다.

refreshDisabled

boolean

이 표를 새로고침으로부터 보호해야 하는지 여부입니다.

uniqueKeyParts[]

string

행 고유성을 정의하는 데 사용되는 열 또는 SQL 표현식의 집합입니다. 중복이 발견되면 (unique_key_parts로 정의됨) 새로 선택된 행 (incremental_select_query로 정의됨)만 관계에 포함됩니다.

updatePartitionFilter

string

병합 작업에 고려되는 기존 행 집합을 제한하는 데 사용되는 SQL 표현식 조건입니다 (자세한 내용은 unique_key_parts 참고).

incrementalPreOperations[]

string

관계에 새 행을 삽입하기 전에 실행할 SQL 문입니다.

incrementalPostOperations[]

string

관계에 새 행을 삽입한 후 실행할 SQL 문입니다.

AdditionalOptionsEntry

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

string

value

string

작업

JSON 표현
{
  "dependencyTargets": [
    {
      object (Target)
    }
  ],
  "disabled": boolean,
  "tags": [
    string
  ],
  "relationDescriptor": {
    object (RelationDescriptor)
  },
  "queries": [
    string
  ],
  "hasOutput": boolean
}
필드
dependencyTargets[]

object (Target)

이 작업이 종속된 작업 목록입니다.

disabled

boolean

이 작업이 사용 중지되었는지 여부입니다 (즉, 실행하면 안 됨).

tags[]

string

이 작업에 대한 임의의 사용자 정의 태그입니다.

relationDescriptor

object (RelationDescriptor)

모든 출력 관계와 해당 열의 설명자입니다. has_output이 true인 경우에만 설정됩니다.

queries[]

string

변경 없이 실행될 임의 SQL 문의 목록입니다.

hasOutput

boolean

이러한 작업이 출력 관계를 생성하는지 여부입니다.

어설션

JSON 표현
{
  "dependencyTargets": [
    {
      object (Target)
    }
  ],
  "parentAction": {
    object (Target)
  },
  "disabled": boolean,
  "tags": [
    string
  ],
  "selectQuery": string,
  "relationDescriptor": {
    object (RelationDescriptor)
  }
}
필드
dependencyTargets[]

object (Target)

이 작업이 종속된 작업 목록입니다.

parentAction

object (Target)

이 어설션의 상위 작업입니다. 이 어설션이 자동으로 생성된 경우에만 설정됩니다.

disabled

boolean

이 작업이 사용 중지되었는지 여부입니다 (즉, 실행하면 안 됨).

tags[]

string

이 작업에 대한 임의의 사용자 정의 태그입니다.

selectQuery

string

이 어설션이 성공하려면 0개의 행을 반환해야 하는 SELECT 쿼리입니다.

relationDescriptor

object (RelationDescriptor)

어설션의 자동 생성된 뷰와 열의 설명어입니다.

선언

JSON 표현
{
  "relationDescriptor": {
    object (RelationDescriptor)
  }
}
필드
relationDescriptor

object (RelationDescriptor)

관계 및 해당 열의 설명어입니다. 문서로만 사용됩니다. 즉, 여기에 있는 값은 관계의 메타데이터를 변경하지 않습니다.

노트북

JSON 표현
{
  "dependencyTargets": [
    {
      object (Target)
    }
  ],
  "disabled": boolean,
  "contents": string,
  "tags": [
    string
  ]
}
필드
dependencyTargets[]

object (Target)

이 작업이 종속된 작업 목록입니다.

disabled

boolean

이 작업이 사용 중지되었는지 여부입니다 (즉, 실행하면 안 됨).

contents

string

노트북의 콘텐츠입니다.

tags[]

string

이 작업에 대한 임의의 사용자 정의 태그입니다.

DataPreparation

JSON 표현
{
  "dependencyTargets": [
    {
      object (Target)
    }
  ],
  "disabled": boolean,
  "tags": [
    string
  ],

  // Union field definition can be only one of the following:
  "contentsYaml": string,
  "contentsSql": {
    object (SqlDefinition)
  }
  // End of list of possible types for union field definition.
}
필드
dependencyTargets[]

object (Target)

이 작업이 종속된 작업 목록입니다.

disabled

boolean

이 작업이 사용 중지되었는지 여부입니다 (즉, 실행하면 안 됨).

tags[]

string

이 작업에 대한 임의의 사용자 정의 태그입니다.

통합 필드 definition. 데이터 준비의 정의입니다. definition은 다음 중 하나여야 합니다.
contentsYaml

string

데이터 준비 정의로, YAML 문자열로 저장됩니다.

contentsSql

object (SqlDefinition)

데이터 준비의 SQL 정의입니다. SQL 쿼리 및 추가 컨텍스트 정보를 포함합니다.

SqlDefinition

JSON 표현
{
  "query": string,
  "errorTable": {
    object (ErrorTable)
  },
  "load": {
    object (LoadConfig)
  }
}
필드
query

string

데이터 준비 단계를 나타내는 SQL 쿼리입니다. Pipe SQL 쿼리 문으로 형식이 지정됩니다.

errorTable

object (ErrorTable)

오류 테이블 구성

load

object (LoadConfig)

구성 로드

ErrorTable

JSON 표현
{
  "target": {
    object (Target)
  },
  "retentionDays": integer
}
필드
target

object (Target)

오류 테이블 타겟입니다.

retentionDays

integer

오류 테이블 파티션 만료 시간(일)입니다. 양수 값만 허용됩니다.

LoadConfig

JSON 표현
{

  // Union field mode can be only one of the following:
  "replace": {
    object (SimpleLoadMode)
  },
  "append": {
    object (SimpleLoadMode)
  },
  "maximum": {
    object (IncrementalLoadMode)
  },
  "unique": {
    object (IncrementalLoadMode)
  }
  // End of list of possible types for union field mode.
}
필드
통합 필드 mode. 로드 모드 mode는 다음 중 하나여야 합니다.
replace

object (SimpleLoadMode)

대상 테이블 바꾸기

append

object (SimpleLoadMode)

대상 테이블에 추가

maximum

object (IncrementalLoadMode)

대상 테이블의 열에 대한 이전 최댓값을 초과하는 값을 가진 레코드 삽입

unique

object (IncrementalLoadMode)

열 값이 대상 테이블에 아직 없는 레코드를 삽입합니다.

IncrementalLoadMode

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

string

증분 로드 모드의 열 이름

RelationType

이 관계의 유형을 나타냅니다.

열거형
RELATION_TYPE_UNSPECIFIED 기본값 이 값은 사용되지 않습니다.
TABLE 관계가 테이블입니다.
VIEW 관계가 뷰입니다.
INCREMENTAL_TABLE 관계가 증분 테이블입니다.
MATERIALIZED_VIEW 관계가 구체화된 뷰입니다.

TableFormat

BigQuery 테이블에 지원되는 테이블 형식입니다.

열거형
TABLE_FORMAT_UNSPECIFIED 기본값
ICEBERG Apache Iceberg 형식입니다.

FileFormat

BigQuery 테이블에 지원되는 파일 형식입니다.

열거형
FILE_FORMAT_UNSPECIFIED 기본값
PARQUET Apache Parquet 형식입니다.

도구 주석

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