클라이언트 라이브러리를 사용하여 워크플로 실행
클라이언트 라이브러리를 사용하여 워크플로를 실행하고 실행 결과를 확인할 수 있습니다.
클라이언트 라이브러리 설치 및 개발 환경 설정에 대한 자세한 내용은 Workflows 클라이언트 라이브러리 개요를 참조하세요.
시작하기 전에
조직에서 정의한 보안 제약조건으로 인해 다음 단계를 완료하지 못할 수 있습니다. 문제 해결 정보는 제한된 Google Cloud 환경에서 애플리케이션 개발을 참조하세요.
- 다음 샘플에서는 워크플로
myFirstWorkflow
를 이미 배포했다고 가정합니다. 아직 배포하지 않았다면 Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 배포합니다. - Git 소스 코드 관리 도구를 다운로드하여 설치합니다.
샘플 코드 가져오기
샘플 앱 저장소를 로컬 머신에 클론합니다.
자바
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
또는 zip 파일로 샘플을 다운로드하고 압축을 풀 수 있습니다.
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
또는 zip 파일로 샘플을 다운로드하고 압축을 풀 수 있습니다.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
또는 zip 파일로 샘플을 다운로드하고 압축을 풀 수 있습니다.
Workflows 샘플 코드가 포함된 디렉터리로 변경합니다.
자바
cd java-docs-samples/workflows/cloud-client/
Node.js
cd nodejs-docs-samples/workflows/quickstart/
Python
cd python-docs-samples/workflows/cloud-client/
다음 샘플 코드를 살펴봅니다.
자바
Node.js
Python
이 프로그램은 다음 작업을 수행합니다.
- Workflows용 클라우드 클라이언트 라이브러리를 설정합니다.
- 워크플로를 실행합니다.
- 실행이 종료될 때까지 워크플로 실행을 폴링합니다(지수 백오프 사용).
- 실행 결과를 출력합니다.
샘플 실행
샘플을 실행하려면 먼저 종속 항목을 설치합니다.
자바
mvn compile
Node.js
npm install
Python
pip3 install -r requirements.txt
스크립트를 실행합니다.
자바
GOOGLE_CLOUD_PROJECT=PROJECT_ID LOCATION=CLOUD_REGION WORKFLOW=WORKFLOW_NAME mvn compile exec:java -Dexec.mainClass=com.example.workflows.WorkflowsQuickstart
Node.js
node . PROJECT_ID CLOUD_REGION WORKFLOW_NAME
Python
GOOGLE_CLOUD_PROJECT=PROJECT_ID LOCATION=CLOUD_REGION WORKFLOW=WORKFLOW_NAME python3 main.py
다음을 바꿉니다.
PROJECT_ID
: (필수) Google Cloud 프로젝트의 프로젝트 IDCLOUD_REGION
: 워크플로의 위치(기본값:us-central1
)WORKFLOW_NAME
: 워크플로의 ID(기본값:myFirstWorkflow
)
출력은 다음과 비슷합니다.
Execution finished with state: SUCCEEDED ["Sunday","Sunday in the Park with George","Sunday shopping","Sunday Bloody Sunday","Sunday Times Golden Globe Race","Sunday All Stars","Sunday Night (South Korean TV series)","Sunday Silence","Sunday Without God","Sunday Independent (Ireland)"]
실행 요청에서 데이터 전달
클라이언트 라이브러리 언어에 따라 실행 요청에서 런타임 인수를 전달할 수도 있습니다.
예를 들어 자바스크립트를 사용하는 경우는 다음과 같습니다.
// Execute workflow
try {
const createExecutionRes = await client.createExecution({
parent: client.workflowPath(projectId, location, workflow),
execution: {
argument: JSON.stringify({"searchTerm": "Friday"})
}
});
const executionName = createExecutionRes[0].name;
또는 자바를 사용하는 경우는 다음과 같습니다.
// Creates the execution object.
CreateExecutionRequest request =
CreateExecutionRequest.newBuilder()
.setParent(parent.toString())
.setExecution(Execution.newBuilder().setArgument("{\"searchTerm\":\"Friday\"}").build())
.build();
런타임 인수 전달에 대한 자세한 내용은 실행 요청에서 런타임 인수 전달을 참조하세요.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 Workflows 페이지로 이동합니다.
워크플로 목록에서 워크플로를 클릭하여 워크플로 세부정보 페이지로 이동합니다.
삭제를 클릭합니다.
워크플로 이름을 입력한 다음 확인을 클릭합니다.