Go부터 Workflows 실행
개시하다
GCP의 Workflows에서 제작된 워크플로우 실행 방법은 2021년 4월까지입니다.
다음과 같은 세 가지 방법으로 집행할 수 있다.
Go부터 실행할게요.
Go에서 GCP 제품 처리까지 기본적으로 사용google-cloud-go
현재 Workflows의 포장이 없기 때문에 사용
googleapis/google-api-go-client
.다음은 샘플 코드입니다.
※
projectID
와 location
를 원하는 값으로 변경해 주십시오.main.go
package main
import (
"context"
"fmt"
"google.golang.org/api/workflowexecutions/v1"
"google.golang.org/api/workflows/v1"
)
const (
projectID = "YOUR_PROJECT_ID"
location = "YOUR_LOCATION"
)
func main() {
ctx := context.Background()
// workflowリストを取得
var targetWorkflowName string
{
workflow, err := workflows.NewService(ctx)
if err != nil {
panic(err)
}
// 指定したプロジェクトID・ロケーションのワークフロー一覧を取得
parent := fmt.Sprintf("projects/%s/locations/%s", projectID, location)
resp, err := workflow.Projects.Locations.Workflows.List(parent).Do()
if err != nil {
panic(err)
}
for _, workflow := range resp.Workflows {
// ワークフロー名を出力
fmt.Println(workflow.Name)
// 最終ループのワークフロー名を代入(※雑なコードなのはご容赦)
targetWorkflowName = workflow.Name
}
}
// targetWorkflowNameを実行する
workflowExecService, err := workflowexecutions.NewService(ctx)
if err != nil {
panic(err)
}
// ワークフローの実行
// e.g. targetWorkflowName="projects/{PROJECT_ID}/locations/{LOCATION}/workflows/{WORKFLOW_NAME}"
exe, err := workflowExecService.Projects.Locations.Workflows.Executions.Create(targetWorkflowName, &workflowexecutions.Execution{
Name: targetWorkflowName,
}).Do()
if err != nil {
panic(err)
}
// 実行結果出力
fmt.Println(exe.Name)
}
추가 참조 링크
Reference
이 문제에 관하여(Go부터 Workflows 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/wmetaw/articles/809dc26a1c9a3a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)