도구: update_release_config
자동 코드 컴파일의 템플릿 역할을 하는 기존 Dataform 출시 구성을 업데이트합니다.
git_commitish와 같은 필드를 업데이트하면 향후 컴파일 결과가 생성되는 방식이 변경되지만 이러한 업데이트는 기존 CompilationResult 애셋을 소급하여 변경하지는 않습니다.
Google 호스팅 저장소를 업데이트할 때는 release_config.cron_schedule 매개변수 값을 생략합니다. 확인하려면 get_repository 도구를 사용하세요. git_remote_settings 필드가 누락된 경우 저장소는 Google 호스팅입니다. 파이프라인을 예약하려면 create_workflow_config 또는 update_workflow_config 도구를 사용하여 일정을 설정하거나 업데이트합니다.
name 매개변수 값은 projects/{project_id}/locations/{location}/repositories/{repository}/releaseConfigs/{release_config} 형식이어야 합니다.
다음 코드 샘플은 curl를 사용하여 update_release_config 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": "update_release_config", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
UpdateReleaseConfig 요청 메시지입니다.
UpdateReleaseConfigRequest
| JSON 표현 |
|---|
{
"updateMask": string,
"releaseConfig": {
object ( |
| 필드 | |
|---|---|
updateMask |
(선택사항) 출시 구성에서 업데이트할 필드를 지정합니다. 설정하지 않으면 모든 필드가 업데이트됩니다. 정규화된 필드 이름의 쉼표로 구분된 목록입니다. 예: |
releaseConfig |
필수 항목입니다. 업데이트할 출시 구성입니다. |
FieldMask
| JSON 표현 |
|---|
{ "paths": [ string ] } |
| 필드 | |
|---|---|
paths[] |
필드 마스크 경로 집합입니다. |
ReleaseConfig
| JSON 표현 |
|---|
{ "name": string, "gitCommitish": string, "codeCompilationConfig": { object ( |
| 필드 | |
|---|---|
name |
식별자. 출시 구성의 이름입니다. |
gitCommitish |
필수 항목입니다. 저장소를 컴파일해야 하는 Git 커밋/태그/브랜치 이름입니다. 원격 저장소에 있어야 합니다. 예: - 커밋 SHA: |
codeCompilationConfig |
(선택사항) 설정된 경우 |
cronSchedule |
(선택사항) 컴파일 결과의 자동 생성을 위한 선택적 일정 (cron 형식)입니다. |
timeZone |
(선택사항) cron_schedule을 해석할 때 사용할 시간대를 지정합니다. 시간대 데이터베이스의 시간대 이름이어야 합니다. 지정하지 않으면 기본값은 |
recentScheduledReleaseRecords[] |
출력 전용입니다. 가장 최근 10개의 예약 출시 시도 기록으로, |
releaseCompilationResult |
(선택사항) 이 출시 구성에 대해 현재 출시된 컴파일 결과의 이름입니다. 이 값은 이 출시 구성에서 컴파일 결과가 자동으로 생성되거나 (cron_schedule 사용) 이 리소스가 API 호출에 의해 업데이트될 때 (이전 출시로 롤백하는 경우 등) 업데이트됩니다. 컴파일 결과는 이 출시 구성을 사용하여 생성되었어야 합니다. |
disabled |
(선택사항) 컴파일 결과의 자동 생성을 사용 중지합니다. |
통합 필드
|
|
internalMetadata |
출력 전용입니다. 리소스를 제공하기 위해 내부적으로 사용되는 모든 메타데이터 정보입니다. 예: 타임스탬프, 플래그, 상태 필드 등 이 필드의 형식은 JSON 문자열입니다. |
CodeCompilationConfig
| JSON 표현 |
|---|
{ "defaultDatabase": string, "defaultSchema": string, "defaultLocation": string, "assertionSchema": string, "vars": { string: string, ... }, "databaseSuffix": string, "schemaSuffix": string, "tablePrefix": string, "builtinAssertionNamePrefix": string, "defaultNotebookRuntimeOptions": { object ( |
| 필드 | |
|---|---|
defaultDatabase |
(선택사항) 기본 데이터베이스(Google Cloud 프로젝트 ID)입니다. |
defaultSchema |
(선택사항) 기본 스키마(BigQuery 데이터 세트 ID)입니다. |
defaultLocation |
(선택사항) 사용할 기본 BigQuery 위치입니다. 기본값은 'US'입니다. 전체 위치 목록은 BigQuery 문서(https://cloud.google.com/bigquery/docs/locations)를 참고하세요. |
assertionSchema |
(선택사항) 어설션의 기본 스키마(BigQuery 데이터 세트 ID)입니다. |
vars |
(선택사항) 컴파일 중에 프로젝트 코드에서 사용할 수 있는 사용자 정의 변수입니다.
|
databaseSuffix |
(선택사항) 모든 데이터베이스 (Google Cloud 프로젝트 ID) 이름에 추가해야 하는 서픽스입니다. |
schemaSuffix |
(선택사항) 모든 스키마 (BigQuery 데이터 세트 ID) 이름에 추가해야 하는 서픽스입니다. |
tablePrefix |
(선택사항) 모든 테이블 이름 앞에 추가되어야 하는 프리픽스입니다. |
builtinAssertionNamePrefix |
(선택사항) 기본 제공 어설션 이름 앞에 추가할 접두사입니다. |
defaultNotebookRuntimeOptions |
(선택사항) 기본 노트북 런타임 옵션입니다. |
pipelineConfig |
(선택사항) Git 저장소 내의 파이프라인 유형과 경로를 정의하는 파이프라인 옵션입니다. |
VarsEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
NotebookRuntimeOptions
| JSON 표현 |
|---|
{ "aiPlatformNotebookRuntimeTemplate": string, // Union field |
| 필드 | |
|---|---|
aiPlatformNotebookRuntimeTemplate |
(선택사항) 노트북 실행을 위해 런타임이 생성되는 Colab 런타임 템플릿의 리소스 이름입니다. 지정하지 않으면 Colab의 기본 사양으로 런타임이 생성됩니다. |
통합 필드 execution_sink. 노트북 실행 결과를 저장할 위치입니다. execution_sink은 다음 중 하나여야 합니다. |
|
gcsOutputBucket |
(선택사항) 결과를 업로드할 Google Cloud Storage 위치입니다. 형식은 |
통합 필드 repository_snapshot_storage. 노트북 런타임 repository_snapshot_storage 내에서 읽기 전용 액세스에 사용할 수 있는 저장소 파일 스냅샷의 대상은 다음 중 하나여야 합니다. |
|
gcsRepositorySnapshotDestination |
(선택사항) 스냅샷을 업로드할 Google Cloud Storage 대상입니다. 빈 URI의 경우 제공된 gcs_output_bucket이 기본값입니다. 형식은 |
GcsRepositorySnapshotDestination
| JSON 표현 |
|---|
{ "repositorySnapshotUri": string } |
| 필드 | |
|---|---|
repositorySnapshotUri |
(선택사항) 저장소 스냅샷을 업로드할 Google Cloud Storage 대상입니다. 형식은 |
PipelineConfig
| JSON 표현 |
|---|
{
"pipelineType": enum ( |
| 필드 | |
|---|---|
pipelineType |
필수 항목입니다. 파이프라인 유형입니다. |
path |
필수 항목입니다. 파이프라인이 정의된 Git 저장소 내의 상대 경로입니다. 예를 들어 Dataform 파이프라인의 경우 |
ScheduledReleaseRecord
| JSON 표현 |
|---|
{ "releaseTime": string, // Union field |
| 필드 | |
|---|---|
releaseTime |
출력 전용입니다. 이 출시 시도의 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
통합 필드 result. 이 출시 시도의 결과입니다. result은 다음 중 하나여야 합니다. |
|
compilationResult |
생성된 컴파일 결과의 이름입니다(성공적으로 생성된 경우). |
errorStatus |
컴파일 결과를 만들려고 시도한 결과 발생한 오류 상태입니다(시도가 실패한 경우). |
상태
| JSON 표현 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 필드 | |
|---|---|
code |
상태 코드로, |
message |
개발자에게 정보를 제공하는 오류 메시지로, 영어로 작성되어야 합니다. 사용자에게 표시되는 모든 오류 메시지는 현지화되어 |
details[] |
오류 세부정보를 설명하는 메시지 목록입니다. API에서 사용할 일반적인 메시지 유형 집합이 있습니다. 임의 유형의 필드를 포함하는 객체입니다. 추가 필드 |
모두
| JSON 표현 |
|---|
{ "typeUrl": string, "value": string } |
| 필드 | |
|---|---|
typeUrl |
슬래시로 끝나는 접두사와 정규화된 유형 이름으로 구성된 URI 참조를 사용하여 직렬화된 Protobuf 메시지의 유형을 식별합니다. 예: type.googleapis.com/google.protobuf.StringValue 이 문자열에는 접두사는 임의적이며 Protobuf 구현은 유형을 식별하기 위해 마지막 모든 유형 URL 문자열은 참조의 콘텐츠가 영숫자, 퍼센트 인코딩된 이스케이프, 다음 집합의 문자 (외부 백틱 제외)로만 구성되어야 한다는 추가 제한사항 (텍스트 형식의 경우)이 있는 합법적인 URI 참조여야 합니다.
|
value |
type_url로 설명된 유형의 Protobuf 직렬화를 보유합니다. base64 인코딩 문자열입니다. |
타임스탬프
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다. |
nanos |
나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다. |
PipelineType
파이프라인 유형입니다. 향후 연장될 수 있습니다. UNSPECIFIED인 경우 오류가 발생합니다.
| 열거형 | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
DATAFORM |
일반 Dataform 파이프라인입니다. |
SQL |
SQL 단일 파일 애셋입니다. |
NOTEBOOK |
노트북 단일 파일 애셋입니다. |
출력 스키마
Dataform 출시 구성을 나타냅니다.
ReleaseConfig
| JSON 표현 |
|---|
{ "name": string, "gitCommitish": string, "codeCompilationConfig": { object ( |
| 필드 | |
|---|---|
name |
식별자. 출시 구성의 이름입니다. |
gitCommitish |
필수 항목입니다. 저장소를 컴파일해야 하는 Git 커밋/태그/브랜치 이름입니다. 원격 저장소에 있어야 합니다. 예: - 커밋 SHA: |
codeCompilationConfig |
(선택사항) 설정된 경우 |
cronSchedule |
(선택사항) 컴파일 결과의 자동 생성을 위한 선택적 일정 (cron 형식)입니다. |
timeZone |
(선택사항) cron_schedule을 해석할 때 사용할 시간대를 지정합니다. 시간대 데이터베이스의 시간대 이름이어야 합니다. 지정하지 않으면 기본값은 |
recentScheduledReleaseRecords[] |
출력 전용입니다. 가장 최근 10개의 예약 출시 시도 기록으로, |
releaseCompilationResult |
(선택사항) 이 출시 구성에 대해 현재 출시된 컴파일 결과의 이름입니다. 이 값은 이 출시 구성에서 컴파일 결과가 자동으로 생성되거나 (cron_schedule 사용) 이 리소스가 API 호출에 의해 업데이트될 때 (이전 출시로 롤백하는 경우 등) 업데이트됩니다. 컴파일 결과는 이 출시 구성을 사용하여 생성되었어야 합니다. |
disabled |
(선택사항) 컴파일 결과의 자동 생성을 사용 중지합니다. |
통합 필드
|
|
internalMetadata |
출력 전용입니다. 리소스를 제공하기 위해 내부적으로 사용되는 모든 메타데이터 정보입니다. 예: 타임스탬프, 플래그, 상태 필드 등 이 필드의 형식은 JSON 문자열입니다. |
CodeCompilationConfig
| JSON 표현 |
|---|
{ "defaultDatabase": string, "defaultSchema": string, "defaultLocation": string, "assertionSchema": string, "vars": { string: string, ... }, "databaseSuffix": string, "schemaSuffix": string, "tablePrefix": string, "builtinAssertionNamePrefix": string, "defaultNotebookRuntimeOptions": { object ( |
| 필드 | |
|---|---|
defaultDatabase |
(선택사항) 기본 데이터베이스(Google Cloud 프로젝트 ID)입니다. |
defaultSchema |
(선택사항) 기본 스키마(BigQuery 데이터 세트 ID)입니다. |
defaultLocation |
(선택사항) 사용할 기본 BigQuery 위치입니다. 기본값은 'US'입니다. 전체 위치 목록은 BigQuery 문서(https://cloud.google.com/bigquery/docs/locations)를 참고하세요. |
assertionSchema |
(선택사항) 어설션의 기본 스키마(BigQuery 데이터 세트 ID)입니다. |
vars |
(선택사항) 컴파일 중에 프로젝트 코드에서 사용할 수 있는 사용자 정의 변수입니다.
|
databaseSuffix |
(선택사항) 모든 데이터베이스 (Google Cloud 프로젝트 ID) 이름에 추가해야 하는 서픽스입니다. |
schemaSuffix |
(선택사항) 모든 스키마 (BigQuery 데이터 세트 ID) 이름에 추가해야 하는 서픽스입니다. |
tablePrefix |
(선택사항) 모든 테이블 이름 앞에 추가되어야 하는 프리픽스입니다. |
builtinAssertionNamePrefix |
(선택사항) 기본 제공 어설션 이름 앞에 추가할 접두사입니다. |
defaultNotebookRuntimeOptions |
(선택사항) 기본 노트북 런타임 옵션입니다. |
pipelineConfig |
(선택사항) Git 저장소 내의 파이프라인 유형과 경로를 정의하는 파이프라인 옵션입니다. |
VarsEntry
| JSON 표현 |
|---|
{ "key": string, "value": string } |
| 필드 | |
|---|---|
key |
|
value |
|
NotebookRuntimeOptions
| JSON 표현 |
|---|
{ "aiPlatformNotebookRuntimeTemplate": string, // Union field |
| 필드 | |
|---|---|
aiPlatformNotebookRuntimeTemplate |
(선택사항) 노트북 실행을 위해 런타임이 생성되는 Colab 런타임 템플릿의 리소스 이름입니다. 지정하지 않으면 Colab의 기본 사양으로 런타임이 생성됩니다. |
통합 필드 execution_sink. 노트북 실행 결과를 저장할 위치입니다. execution_sink은 다음 중 하나여야 합니다. |
|
gcsOutputBucket |
(선택사항) 결과를 업로드할 Google Cloud Storage 위치입니다. 형식은 |
통합 필드 repository_snapshot_storage. 노트북 런타임 repository_snapshot_storage 내에서 읽기 전용 액세스에 사용할 수 있는 저장소 파일 스냅샷의 대상은 다음 중 하나여야 합니다. |
|
gcsRepositorySnapshotDestination |
(선택사항) 스냅샷을 업로드할 Google Cloud Storage 대상입니다. 빈 URI의 경우 제공된 gcs_output_bucket이 기본값입니다. 형식은 |
GcsRepositorySnapshotDestination
| JSON 표현 |
|---|
{ "repositorySnapshotUri": string } |
| 필드 | |
|---|---|
repositorySnapshotUri |
(선택사항) 저장소 스냅샷을 업로드할 Google Cloud Storage 대상입니다. 형식은 |
PipelineConfig
| JSON 표현 |
|---|
{
"pipelineType": enum ( |
| 필드 | |
|---|---|
pipelineType |
필수 항목입니다. 파이프라인 유형입니다. |
path |
필수 항목입니다. 파이프라인이 정의된 Git 저장소 내의 상대 경로입니다. 예를 들어 Dataform 파이프라인의 경우 |
ScheduledReleaseRecord
| JSON 표현 |
|---|
{ "releaseTime": string, // Union field |
| 필드 | |
|---|---|
releaseTime |
출력 전용입니다. 이 출시 시도의 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
통합 필드 result. 이 출시 시도의 결과입니다. result은 다음 중 하나여야 합니다. |
|
compilationResult |
생성된 컴파일 결과의 이름입니다(성공적으로 생성된 경우). |
errorStatus |
컴파일 결과를 만들려고 시도한 결과 발생한 오류 상태입니다(시도가 실패한 경우). |
상태
| JSON 표현 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 필드 | |
|---|---|
code |
상태 코드로, |
message |
개발자에게 정보를 제공하는 오류 메시지로, 영어로 작성되어야 합니다. 사용자에게 표시되는 모든 오류 메시지는 현지화되어 |
details[] |
오류 세부정보를 설명하는 메시지 목록입니다. API에서 사용할 일반적인 메시지 유형 집합이 있습니다. 임의 유형의 필드를 포함하는 객체입니다. 추가 필드 |
모두
| JSON 표현 |
|---|
{ "typeUrl": string, "value": string } |
| 필드 | |
|---|---|
typeUrl |
슬래시로 끝나는 접두사와 정규화된 유형 이름으로 구성된 URI 참조를 사용하여 직렬화된 Protobuf 메시지의 유형을 식별합니다. 예: type.googleapis.com/google.protobuf.StringValue 이 문자열에는 접두사는 임의적이며 Protobuf 구현은 유형을 식별하기 위해 마지막 모든 유형 URL 문자열은 참조의 콘텐츠가 영숫자, 퍼센트 인코딩된 이스케이프, 다음 집합의 문자 (외부 백틱 제외)로만 구성되어야 한다는 추가 제한사항 (텍스트 형식의 경우)이 있는 합법적인 URI 참조여야 합니다.
|
value |
type_url로 설명된 유형의 Protobuf 직렬화를 보유합니다. base64 인코딩 문자열입니다. |
타임스탬프
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다. |
nanos |
나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다. |
PipelineType
파이프라인 유형입니다. 향후 연장될 수 있습니다. UNSPECIFIED인 경우 오류가 발생합니다.
| 열거형 | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
DATAFORM |
일반 Dataform 파이프라인입니다. |
SQL |
SQL 단일 파일 애셋입니다. |
NOTEBOOK |
노트북 단일 파일 애셋입니다. |
도구 주석
도구 주석은 특정 도구의 기본 위험을 설명하기 위해 MCP 클라이언트로 전송됩니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 사용자에게 확인 메시지를 전송할 시점을 결정하는 데 사용할 수 있습니다.
제목 문자열과 함께 다음 불리언 힌트가 다음과 같이 정의됩니다.
readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.destructiveHint: true인 경우 도구가 파괴적인 작업을 실행할 수 있습니다. false인 경우 도구는 추가 작업만 실행할 수 있습니다. 기본값은 true입니다.idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.openWorldHint: true인 경우 도구가 외부 엔티티의 '오픈 월드'와 상호작용할 수 있습니다. false인 경우 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.
파괴적 힌트: ❌ | 멱등성 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌