도구: 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 |
필수 항목입니다. 컴파일 결과의 이름입니다. |
pageSize |
선택사항입니다. 반환할 최대 컴파일 결과 수입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다. |
pageToken |
선택사항입니다. 이전 페이지로 나누는 경우 |
filter |
선택사항입니다. 반환된 목록의 선택적 필터입니다. 현재 필터링은 |
출력 스키마
QueryCompilationResultActions 응답 메시지입니다.
QueryCompilationResultActionsResponse
| JSON 표현 |
|---|
{
"compilationResultActions": [
{
object ( |
| 필드 | |
|---|---|
compilationResultActions[] |
컴파일 결과 작업 목록입니다. |
nextPageToken |
다음 페이지를 검색하기 위해 |
CompilationResultAction
| JSON 표현 |
|---|
{ "target": { object ( |
| 필드 | |
|---|---|
target |
이 작업의 식별자입니다. 컴파일 결과 내에서 고유합니다. |
canonicalTarget |
재정의가 구성되지 않은 상태로 프로젝트가 컴파일된 경우 작업의 식별자입니다. 컴파일 결과 내에서 고유합니다. |
filePath |
이 작업이 있는 파일의 전체 경로입니다(파일 이름 포함). 작업공간 루트를 기준으로 합니다. |
통합 필드 compiled_object. 컴파일된 객체입니다. compiled_object은 다음 중 하나여야 합니다. |
|
relation |
이 작업으로 생성/업데이트된 데이터베이스 관계입니다. |
operations |
이 작업으로 실행된 데이터베이스 작업입니다. |
assertion |
이 작업으로 실행된 어설션입니다. |
declaration |
이 작업에서 선언한 선언입니다. |
notebook |
이 작업으로 실행된 노트북입니다. |
dataPreparation |
이 작업으로 실행된 데이터 준비입니다. |
통합 필드
|
|
internalMetadata |
출력 전용입니다. 리소스를 제공하기 위해 내부적으로 사용되는 모든 메타데이터 정보입니다. 예: 타임스탬프, 플래그, 상태 필드 등 이 필드의 형식은 JSON 문자열입니다. |
관계
| JSON 표현 |
|---|
{ "dependencyTargets": [ { object ( |
| 필드 | |
|---|---|
dependencyTargets[] |
이 작업이 종속된 작업 목록입니다. |
disabled |
이 작업이 사용 중지되었는지 여부입니다 (즉, 실행하면 안 됨). |
tags[] |
이 작업에 대한 임의의 사용자 정의 태그입니다. |
relationDescriptor |
관계 및 해당 열의 설명어입니다. |
relationType |
이 관계의 유형입니다. |
selectQuery |
이 관계가 포함해야 하는 행을 반환하는 SELECT 쿼리입니다. |
preOperations[] |
관계 생성 전에 실행할 SQL 문입니다. |
postOperations[] |
관계 생성 후 실행할 SQL 문입니다. |
incrementalTableConfig |
이 관계의 |
partitionExpression |
관계를 파티셔닝하는 데 사용되는 SQL 표현식입니다. |
clusterExpressions[] |
테이블을 클러스터링하는 데 사용되는 열 또는 SQL 표현식 목록입니다. |
partitionExpirationDays |
파티션 만료 시간을 일 단위로 설정합니다. |
requirePartitionFilter |
이 테이블의 쿼리에 파티션 나누기 열을 필터링하는 조건자 필터가 포함되어야 하는지 여부를 지정합니다. |
additionalOptions |
테이블/뷰 생성 문의 옵션 절에 키/값 쌍으로 제공될 추가 옵션입니다. 지원되는 옵션에 대한 자세한 내용은 https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language를 참고하세요.
|
connection |
선택사항입니다. Cloud Storage와 같은 외부 스토리지를 읽고 쓰는 데 사용할 사용자 인증 정보를 지정하는 연결입니다. 연결은 |
tableFormat |
선택사항입니다. BigQuery 테이블의 테이블 형식입니다. |
fileFormat |
선택사항입니다. BigQuery 테이블의 파일 형식입니다. |
storageUri |
선택사항입니다. 테이블 데이터가 저장된 외부 폴더의 정규화된 위치 접두사입니다. URI는 |
대상
| JSON 표현 |
|---|
{ "database": string, "schema": string, "name": string } |
| 필드 | |
|---|---|
database |
선택사항입니다. 작업의 데이터베이스 (Google Cloud 프로젝트 ID)입니다. |
schema |
선택사항입니다. |
name |
선택사항입니다. |
RelationDescriptor
| JSON 표현 |
|---|
{
"description": string,
"columns": [
{
object ( |
| 필드 | |
|---|---|
description |
관계에 대한 텍스트 설명입니다. |
columns[] |
관계 내의 열에 대한 설명 목록입니다. |
bigqueryLabels |
관계에 적용해야 하는 BigQuery 라벨 집합입니다.
|
ColumnDescriptor
| JSON 표현 |
|---|
{ "path": [ string ], "description": string, "bigqueryPolicyTags": [ string ] } |
| 필드 | |
|---|---|
path[] |
열의 식별자입니다. |
description |
열의 텍스트 설명입니다. |
bigqueryPolicyTags[] |
열에 적용할 BigQuery 정책 태그 목록입니다. |
BigqueryLabelsEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
IncrementalTableConfig
| JSON 표현 |
|---|
{ "incrementalSelectQuery": string, "refreshDisabled": boolean, "uniqueKeyParts": [ string ], "updatePartitionFilter": string, "incrementalPreOperations": [ string ], "incrementalPostOperations": [ string ] } |
| 필드 | |
|---|---|
incrementalSelectQuery |
이미 존재하고 새로고침되지 않은 경우 관계에 삽입되어야 하는 행을 반환하는 SELECT 쿼리입니다. |
refreshDisabled |
이 표를 새로고침으로부터 보호해야 하는지 여부입니다. |
uniqueKeyParts[] |
행 고유성을 정의하는 데 사용되는 열 또는 SQL 표현식의 집합입니다. 중복이 발견되면 ( |
updatePartitionFilter |
병합 작업에 고려되는 기존 행 집합을 제한하는 데 사용되는 SQL 표현식 조건입니다 (자세한 내용은 |
incrementalPreOperations[] |
관계에 새 행을 삽입하기 전에 실행할 SQL 문입니다. |
incrementalPostOperations[] |
관계에 새 행을 삽입한 후 실행할 SQL 문입니다. |
AdditionalOptionsEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
작업
| JSON 표현 |
|---|
{ "dependencyTargets": [ { object ( |
| 필드 | |
|---|---|
dependencyTargets[] |
이 작업이 종속된 작업 목록입니다. |
disabled |
이 작업이 사용 중지되었는지 여부입니다 (즉, 실행하면 안 됨). |
tags[] |
이 작업에 대한 임의의 사용자 정의 태그입니다. |
relationDescriptor |
모든 출력 관계와 해당 열의 설명자입니다. |
queries[] |
변경 없이 실행될 임의 SQL 문의 목록입니다. |
hasOutput |
이러한 작업이 출력 관계를 생성하는지 여부입니다. |
어설션
| JSON 표현 |
|---|
{ "dependencyTargets": [ { object ( |
| 필드 | |
|---|---|
dependencyTargets[] |
이 작업이 종속된 작업 목록입니다. |
parentAction |
이 어설션의 상위 작업입니다. 이 어설션이 자동으로 생성된 경우에만 설정됩니다. |
disabled |
이 작업이 사용 중지되었는지 여부입니다 (즉, 실행하면 안 됨). |
tags[] |
이 작업에 대한 임의의 사용자 정의 태그입니다. |
selectQuery |
이 어설션이 성공하려면 0개의 행을 반환해야 하는 SELECT 쿼리입니다. |
relationDescriptor |
어설션의 자동 생성된 뷰와 열의 설명어입니다. |
선언
| JSON 표현 |
|---|
{
"relationDescriptor": {
object ( |
| 필드 | |
|---|---|
relationDescriptor |
관계 및 해당 열의 설명어입니다. 문서로만 사용됩니다. 즉, 여기에 있는 값은 관계의 메타데이터를 변경하지 않습니다. |
노트북
| JSON 표현 |
|---|
{
"dependencyTargets": [
{
object ( |
| 필드 | |
|---|---|
dependencyTargets[] |
이 작업이 종속된 작업 목록입니다. |
disabled |
이 작업이 사용 중지되었는지 여부입니다 (즉, 실행하면 안 됨). |
contents |
노트북의 콘텐츠입니다. |
tags[] |
이 작업에 대한 임의의 사용자 정의 태그입니다. |
DataPreparation
| JSON 표현 |
|---|
{ "dependencyTargets": [ { object ( |
| 필드 | |
|---|---|
dependencyTargets[] |
이 작업이 종속된 작업 목록입니다. |
disabled |
이 작업이 사용 중지되었는지 여부입니다 (즉, 실행하면 안 됨). |
tags[] |
이 작업에 대한 임의의 사용자 정의 태그입니다. |
통합 필드 definition. 데이터 준비의 정의입니다. definition은 다음 중 하나여야 합니다. |
|
contentsYaml |
데이터 준비 정의로, YAML 문자열로 저장됩니다. |
contentsSql |
데이터 준비의 SQL 정의입니다. SQL 쿼리 및 추가 컨텍스트 정보를 포함합니다. |
SqlDefinition
| JSON 표현 |
|---|
{ "query": string, "errorTable": { object ( |
| 필드 | |
|---|---|
query |
데이터 준비 단계를 나타내는 SQL 쿼리입니다. Pipe SQL 쿼리 문으로 형식이 지정됩니다. |
errorTable |
오류 테이블 구성 |
load |
구성 로드 |
ErrorTable
| JSON 표현 |
|---|
{
"target": {
object ( |
| 필드 | |
|---|---|
target |
오류 테이블 타겟입니다. |
retentionDays |
오류 테이블 파티션 만료 시간(일)입니다. 양수 값만 허용됩니다. |
LoadConfig
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 mode. 로드 모드 mode는 다음 중 하나여야 합니다. |
|
replace |
대상 테이블 바꾸기 |
append |
대상 테이블에 추가 |
maximum |
대상 테이블의 열에 대한 이전 최댓값을 초과하는 값을 가진 레코드 삽입 |
unique |
열 값이 대상 테이블에 아직 없는 레코드를 삽입합니다. |
IncrementalLoadMode
| JSON 표현 |
|---|
{ "column": string } |
| 필드 | |
|---|---|
column |
증분 로드 모드의 열 이름 |
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 형식입니다. |
도구 주석
파괴적 힌트: ❌ | 멱등성 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌