도구: create_workflow_invocation
지정된 Dataform 저장소에서 새 워크플로 호출을 만듭니다.
parent 매개변수 값은 projects/{project_id}/locations/{location}/repositories/{repository} 형식이어야 합니다.
compilation_result 또는 workflow_config 매개변수 값이 필요합니다.
compilation_result를 사용하는 경우 파라미터 값은projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}형식이어야 합니다.workflow_config를 사용하는 경우 파라미터 값은projects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}형식이어야 합니다.
기본 요건: 호출을 트리거하려면 먼저 create_compilation_result 도구를 사용하여 compilation_result를 만들거나 create_workflow_config 도구를 사용하여 workflow_config를 만들어야 합니다. 원시 저장소 코드에서 직접 호출을 트리거할 수는 없습니다.
워크플로 호출은 컴파일 소스에 따라 결정되는 서비스 계정으로 실행됩니다.
compilation_result를 사용하는 경우invocationConfig.serviceAccount파라미터 값을 설정합니다. 생략하면 저장소의 기본service_account이 사용됩니다.workflow_config를 사용하는 경우invocationConfig매개변수를 설정하지 마세요. 호출은 해당 워크플로 구성에 구성된 서비스 계정으로 자동 실행됩니다.
서비스 계정은 기본 Dataform 서비스 에이전트일 수 없습니다. 서비스 계정에는 워크플로를 실행하는 데 필요한 권한이 있어야 하며 사용자에게는 선택한 서비스 계정으로 작업할 수 있는 권한이 있어야 합니다. 이 승인은 일반적으로 서비스 계정 자체 또는 서비스 계정이 포함된 프로젝트에 부여할 수 있는 서비스 계정 사용자 역할 (roles/iam.serviceAccountUser)을 통해 부여됩니다.
다음 코드 샘플은 curl를 사용하여 create_workflow_invocation 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": "create_workflow_invocation", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
CreateWorkflowInvocation 요청 메시지입니다.
CreateWorkflowInvocationRequest
| JSON 표현 |
|---|
{
"parent": string,
"workflowInvocation": {
object ( |
| 필드 | |
|---|---|
parent |
필수 항목입니다. 워크플로 호출을 만들 저장소입니다. |
workflowInvocation |
필수 항목입니다. 생성할 워크플로 호출 리소스입니다. |
WorkflowInvocation
| JSON 표현 |
|---|
{ "name": string, "invocationConfig": { object ( |
| 필드 | |
|---|---|
name |
출력 전용입니다. 워크플로 호출의 이름입니다. |
invocationConfig |
변경할 수 없습니다. 설정하지 않으면 기본 InvocationConfig가 사용됩니다. |
state |
출력 전용입니다. 이 워크플로 호출의 현재 상태입니다. |
invocationTiming |
출력 전용입니다. 이 워크플로 호출의 타이밍 세부정보입니다. |
resolvedCompilationResult |
출력 전용입니다. 이 호출을 만드는 데 사용된 확인된 컴파일 결과입니다. |
dataEncryptionState |
출력 전용입니다. 저장소에 KMS 키가 있는 경우에만 설정됩니다. |
privateResourceMetadata |
출력 전용입니다. 이 리소스가 사용자 범위인지 여부를 나타내는 메타데이터입니다. |
pipelineConfig |
출력 전용입니다. Git 저장소 내의 파이프라인 유형과 경로를 정의하는 파이프라인 옵션입니다. |
통합 필드 compilation_source. 이 호출에 사용할 컴파일 결과의 소스입니다. compilation_source은 다음 중 하나여야 합니다. |
|
compilationResult |
변경할 수 없습니다. 이 호출에 사용할 컴파일 결과의 이름입니다. |
workflowConfig |
변경할 수 없습니다. 호출할 워크플로 구성의 이름입니다. |
통합 필드
|
|
internalMetadata |
출력 전용입니다. 리소스를 제공하기 위해 내부적으로 사용되는 모든 메타데이터 정보입니다. 예: 타임스탬프, 플래그, 상태 필드 등 이 필드의 형식은 JSON 문자열입니다. |
InvocationConfig
| JSON 표현 |
|---|
{ "includedTargets": [ { object ( |
| 필드 | |
|---|---|
includedTargets[] |
(선택사항) 포함할 작업 식별자 집합입니다. |
includedTags[] |
(선택사항) 포함할 태그 집합입니다. |
transitiveDependenciesIncluded |
(선택사항) true로 설정하면 포함된 작업의 임시 종속 항목이 실행됩니다. |
transitiveDependentsIncluded |
(선택사항) true로 설정하면 포함된 작업의 임시 하위 항목이 실행됩니다. |
fullyRefreshIncrementalTablesEnabled |
(선택사항) true로 설정하면 증분 테이블이 완전히 새로고침됩니다. |
serviceAccount |
(선택사항) 워크플로 호출을 실행할 서비스 계정입니다. |
통합 필드
|
|
queryPriority |
(선택사항) BigQuery에서 쿼리 실행의 우선순위를 지정합니다. 자세한 내용은 https://cloud.google.com/bigquery/docs/running-queries#queries를 참고하세요. |
대상
| JSON 표현 |
|---|
{ "database": string, "schema": string, "name": string } |
| 필드 | |
|---|---|
database |
(선택사항) 작업의 데이터베이스 (Google Cloud 프로젝트 ID)입니다. |
schema |
(선택사항) |
name |
(선택사항) |
간격
| JSON 표현 |
|---|
{ "startTime": string, "endTime": string } |
| 필드 | |
|---|---|
startTime |
선택사항입니다. 간격의 시작(포함)입니다. 지정된 경우 이 간격과 일치하는 타임스탬프는 시작과 같거나 시작 이후여야 합니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
endTime |
선택사항입니다. 간격의 끝(제외)입니다. 지정된 경우 이 간격과 일치하는 타임스탬프는 종료 시간 이전이어야 합니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
타임스탬프
| 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(포함) 사이여야 합니다. |
DataEncryptionState
| JSON 표현 |
|---|
{ "kmsKeyVersionName": string } |
| 필드 | |
|---|---|
kmsKeyVersionName |
필수 항목입니다. 리소스의 데이터가 암호화되는 KMS 키 버전 이름입니다. |
PrivateResourceMetadata
| JSON 표현 |
|---|
{ "userScoped": boolean } |
| 필드 | |
|---|---|
userScoped |
출력 전용입니다. true인 경우 이 리소스는 사용자 범위입니다. 즉, 작업공간이거나 작업공간에서 가져온 것입니다. |
PipelineConfig
| JSON 표현 |
|---|
{
"pipelineType": enum ( |
| 필드 | |
|---|---|
pipelineType |
필수 항목입니다. 파이프라인 유형입니다. |
path |
필수 항목입니다. 파이프라인이 정의된 Git 저장소 내의 상대 경로입니다. 예를 들어 Dataform 파이프라인의 경우 |
QueryPriority
BigQuery의 쿼리 실행 우선순위 유형입니다.
| 열거형 | |
|---|---|
QUERY_PRIORITY_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
INTERACTIVE |
쿼리가 BigQuery에서 대화형 우선순위로 실행됩니다. 자세한 내용은 https://cloud.google.com/bigquery/docs/running-queries#queries를 참고하세요. |
BATCH |
쿼리가 BigQuery에서 일괄 우선순위로 실행됩니다. 자세한 내용은 https://cloud.google.com/bigquery/docs/running-queries#batchqueries를 참고하세요. |
주
워크플로 호출의 현재 상태를 나타냅니다.
| 열거형 | |
|---|---|
STATE_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
RUNNING |
현재 워크플로 호출이 실행 중입니다. |
SUCCEEDED |
워크플로 호출이 성공했습니다. 터미널 상태입니다. |
CANCELLED |
워크플로 호출이 취소되었습니다. 터미널 상태입니다. |
FAILED |
워크플로 호출이 실패했습니다. 터미널 상태입니다. |
CANCELING |
워크플로 호출이 취소되고 있지만 일부 작업은 아직 실행 중입니다. |
PipelineType
파이프라인 유형입니다. 향후 연장될 수 있습니다. UNSPECIFIED인 경우 오류가 발생합니다.
| 열거형 | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
DATAFORM |
일반 Dataform 파이프라인입니다. |
SQL |
SQL 단일 파일 애셋입니다. |
NOTEBOOK |
노트북 단일 파일 애셋입니다. |
출력 스키마
컴파일 결과의 단일 호출을 나타냅니다.
WorkflowInvocation
| JSON 표현 |
|---|
{ "name": string, "invocationConfig": { object ( |
| 필드 | |
|---|---|
name |
출력 전용입니다. 워크플로 호출의 이름입니다. |
invocationConfig |
변경할 수 없습니다. 설정하지 않으면 기본 InvocationConfig가 사용됩니다. |
state |
출력 전용입니다. 이 워크플로 호출의 현재 상태입니다. |
invocationTiming |
출력 전용입니다. 이 워크플로 호출의 타이밍 세부정보입니다. |
resolvedCompilationResult |
출력 전용입니다. 이 호출을 만드는 데 사용된 확인된 컴파일 결과입니다. |
dataEncryptionState |
출력 전용입니다. 저장소에 KMS 키가 있는 경우에만 설정됩니다. |
privateResourceMetadata |
출력 전용입니다. 이 리소스가 사용자 범위인지 여부를 나타내는 메타데이터입니다. |
pipelineConfig |
출력 전용입니다. Git 저장소 내의 파이프라인 유형과 경로를 정의하는 파이프라인 옵션입니다. |
통합 필드 compilation_source. 이 호출에 사용할 컴파일 결과의 소스입니다. compilation_source은 다음 중 하나여야 합니다. |
|
compilationResult |
변경할 수 없습니다. 이 호출에 사용할 컴파일 결과의 이름입니다. |
workflowConfig |
변경할 수 없습니다. 호출할 워크플로 구성의 이름입니다. |
통합 필드
|
|
internalMetadata |
출력 전용입니다. 리소스를 제공하기 위해 내부적으로 사용되는 모든 메타데이터 정보입니다. 예: 타임스탬프, 플래그, 상태 필드 등 이 필드의 형식은 JSON 문자열입니다. |
InvocationConfig
| JSON 표현 |
|---|
{ "includedTargets": [ { object ( |
| 필드 | |
|---|---|
includedTargets[] |
(선택사항) 포함할 작업 식별자 집합입니다. |
includedTags[] |
(선택사항) 포함할 태그 집합입니다. |
transitiveDependenciesIncluded |
(선택사항) true로 설정하면 포함된 작업의 임시 종속 항목이 실행됩니다. |
transitiveDependentsIncluded |
(선택사항) true로 설정하면 포함된 작업의 임시 하위 항목이 실행됩니다. |
fullyRefreshIncrementalTablesEnabled |
(선택사항) true로 설정하면 증분 테이블이 완전히 새로고침됩니다. |
serviceAccount |
(선택사항) 워크플로 호출을 실행할 서비스 계정입니다. |
통합 필드
|
|
queryPriority |
(선택사항) BigQuery에서 쿼리 실행의 우선순위를 지정합니다. 자세한 내용은 https://cloud.google.com/bigquery/docs/running-queries#queries를 참고하세요. |
대상
| JSON 표현 |
|---|
{ "database": string, "schema": string, "name": string } |
| 필드 | |
|---|---|
database |
(선택사항) 작업의 데이터베이스 (Google Cloud 프로젝트 ID)입니다. |
schema |
(선택사항) |
name |
(선택사항) |
간격
| JSON 표현 |
|---|
{ "startTime": string, "endTime": string } |
| 필드 | |
|---|---|
startTime |
선택사항입니다. 간격의 시작(포함)입니다. 지정된 경우 이 간격과 일치하는 타임스탬프는 시작과 같거나 시작 이후여야 합니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
endTime |
선택사항입니다. 간격의 끝(제외)입니다. 지정된 경우 이 간격과 일치하는 타임스탬프는 종료 시간 이전이어야 합니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
타임스탬프
| 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(포함) 사이여야 합니다. |
DataEncryptionState
| JSON 표현 |
|---|
{ "kmsKeyVersionName": string } |
| 필드 | |
|---|---|
kmsKeyVersionName |
필수 항목입니다. 리소스의 데이터가 암호화되는 KMS 키 버전 이름입니다. |
PrivateResourceMetadata
| JSON 표현 |
|---|
{ "userScoped": boolean } |
| 필드 | |
|---|---|
userScoped |
출력 전용입니다. true인 경우 이 리소스는 사용자 범위입니다. 즉, 작업공간이거나 작업공간에서 가져온 것입니다. |
PipelineConfig
| JSON 표현 |
|---|
{
"pipelineType": enum ( |
| 필드 | |
|---|---|
pipelineType |
필수 항목입니다. 파이프라인 유형입니다. |
path |
필수 항목입니다. 파이프라인이 정의된 Git 저장소 내의 상대 경로입니다. 예를 들어 Dataform 파이프라인의 경우 |
QueryPriority
BigQuery의 쿼리 실행 우선순위 유형입니다.
| 열거형 | |
|---|---|
QUERY_PRIORITY_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
INTERACTIVE |
쿼리가 BigQuery에서 대화형 우선순위로 실행됩니다. 자세한 내용은 https://cloud.google.com/bigquery/docs/running-queries#queries를 참고하세요. |
BATCH |
쿼리가 BigQuery에서 일괄 우선순위로 실행됩니다. 자세한 내용은 https://cloud.google.com/bigquery/docs/running-queries#batchqueries를 참고하세요. |
주
워크플로 호출의 현재 상태를 나타냅니다.
| 열거형 | |
|---|---|
STATE_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
RUNNING |
현재 워크플로 호출이 실행 중입니다. |
SUCCEEDED |
워크플로 호출이 성공했습니다. 터미널 상태입니다. |
CANCELLED |
워크플로 호출이 취소되었습니다. 터미널 상태입니다. |
FAILED |
워크플로 호출이 실패했습니다. 터미널 상태입니다. |
CANCELING |
워크플로 호출이 취소되고 있지만 일부 작업은 아직 실행 중입니다. |
PipelineType
파이프라인 유형입니다. 향후 연장될 수 있습니다. UNSPECIFIED인 경우 오류가 발생합니다.
| 열거형 | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
DATAFORM |
일반 Dataform 파이프라인입니다. |
SQL |
SQL 단일 파일 애셋입니다. |
NOTEBOOK |
노트북 단일 파일 애셋입니다. |
도구 주석
도구 주석은 특정 도구의 기본 위험을 설명하기 위해 MCP 클라이언트로 전송됩니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 사용자에게 확인 메시지를 전송할 시점을 결정하는 데 사용할 수 있습니다.
제목 문자열과 함께 다음 불리언 힌트가 다음과 같이 정의됩니다.
readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.destructiveHint: true인 경우 도구가 파괴적인 작업을 실행할 수 있습니다. false인 경우 도구는 추가 작업만 실행할 수 있습니다. 기본값은 true입니다.idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.openWorldHint: true인 경우 도구가 외부 엔티티의 '오픈 월드'와 상호작용할 수 있습니다. false인 경우 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.
파괴적 힌트: ❌ | 멱등성 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌