정지 태스크를 사용하면 통합 실행을 일시적으로 중지했다가 재개할 수 있습니다.
통합 실행 중에 컨트롤이 정지 태스크에 도달하면 실행이 중지되고 정지 태스크 이후의 모든 태스크가 정지됩니다. 다음 이벤트 중 하나가 발생하면 통합에서 실행을 재개합니다.
- 지정된 정지 시간 만료
Suspensions
API에서 재개 실행 요청 수신 후
또한 정지 태스크의 출력 변수(정지 결과)를 구성하고 임의의 값으로 설정한 다음 이 값을 사용하여 다운스트림 태스크를 실행하기 위한 분기 조건을 만들 수 있습니다.
승인 태스크, 정지 태스크, 타이머 태스크 비교
세 가지(승인, 일시중지, 타이머) 태스크는 통합 일시중지 및 재개와 비슷한 기능을 수행합니다. 하지만 미묘한 차이가 있습니다. 다음 표에서는 세 가지 태스크의 차이점을 설명합니다.
승인 태스크 | 정지 태스크 | 타이머 태스크 |
---|---|---|
통합의 자동 재개를 지원하지 않으며 통합을 재개하려면 수동으로 개입해야 합니다. | 통합의 수동 및 자동 재개를 모두 지원합니다. 수동으로 개입하여 일시중지를 취소하지 않으면 통합은 일시중지 시간 제한이 만료된 후에 자동으로 재개를 실행합니다. | 통합 자동 재개만 지원합니다. 일시중지 제한 시간이 만료되면 통합 실행이 자동으로 재개됩니다. |
API 호출을 통해 통합을 재개할 수 없습니다. 통합 UI를 사용하여 일시중지를 수동으로 해결해야 합니다. | 통합에 Suspensions API를 사용하여 통합을 재개할 수 있습니다. |
통합 자동 재개만 지원합니다. |
통합이 일시중지(정지)되면 사용자에게 알림이 전송됩니다. | 통합이 일시중지(정지)되면 사용자에게 알림이 전송되지 않습니다. | 통합이 일시중지(정지)되면 사용자에게 알림이 전송되지 않습니다. |
통합을 재개하기 전에 조건부 검사를 수행할 수 있는 출력 변수(부울)를 지원합니다. 그러나 출력 변수에는 true 또는 false 값만 있을 수 있습니다. |
통합을 재개하기 전에 조건부 검사를 수행할 수 있는 출력 변수(문자열)를 지원합니다. 임의의 값을 출력 변수로 설정할 수 있습니다. | 출력 변수를 지원하지 않습니다. |
정지 태스크 구성
정지 태스크를 구성하려면 다음 단계를 수행합니다.
- Apigee UI에서 Apigee 조직을 선택합니다.
- 개발 > 통합을 클릭합니다.
- 기존 통합을 선택하거나 통합 만들기를 클릭하여 새 통합을 만듭니다.
새 통합을 만드는 경우:
- 통합 만들기 대화상자에 이름과 설명을 입력합니다.
- 지원되는 리전 목록에서 통합에 대한 리전을 선택합니다.
- 만들기를 클릭합니다.
통합 디자이너 페이지에서 통합이 열립니다.
- 통합 설계자 탐색 메뉴에서 +태스크/트리거 추가 > 태스크를 클릭하여 사용 가능한 태스크 목록을 봅니다.
- 정지 태스크 요소를 클릭하고 통합 편집기에 배치합니다.
- 디자이너에서 정지 태스크 요소를 클릭하여 정지 태스크 구성 창을 봅니다.
- 다음 표의 설명대로 태스크의 구성 속성을 사용하여 나머지 필드를 구성합니다.
모든 변경사항은 자동으로 저장됩니다.
구성 속성
다음 표에서는 정지 태스크의 구성 속성을 설명합니다.
속성 | 데이터 유형 | 설명 |
Suspension Time
|
정수 | 통합 실행이 정지되어야 하는 시간(분)입니다. 최대 시간 제한은 44640분(31일)이며 기본값이기도 합니다.
통합 실행이 지정된 제한 시간 내에 재개되지 않으면 제한 시간이 만료된 후 통합에서 자동으로 실행을 재개하고 |
Suspension result
|
문자열 | 정지 태스크 결과를 저장하는 변수입니다. 값을 이 변수로 설정하는 것은 선택사항입니다. 이 변수를 요구사항에 따라 어떠한 값으로도 설정할 수 있습니다. 이 변수는 통합 실행 흐름을 보다 세밀하게 제어하려는 경우에 유용합니다. 예를 들어 정지 결과를 읽고 모든 다운스트림 태스크의 값을 기준으로 조건부 결정을 구성할 수 있습니다. |
Suspension Id
|
문자열 | 정지 태스크의 고유 식별자입니다. 이 변수 값은 통합이 정지된 직후에 설정됩니다. 통합 UI의 실행 로그 페이지에서 식별자 값을 가져올 수 있습니다. API를 사용하여 통합을 트리거하면 API의 응답 객체에서 식별자 값을 가져올 수도 있습니다.
정지 ID를 사용하거나 통합의 실행 ID를 사용하여 통합 실행을 재개할 수 있습니다. |
Suspensions API로 정지 취소
정지 API를 사용하면 API 호출을 통해 정지를 취소할 수 있습니다. 정지 API로 정지를 취소하려면 통합 실행 ID나 정지 태스크의 정지 ID가 있어야 합니다. 정지를 취소하려면 다음 API에 POST
요청을 발행해야 합니다.
https://REGION-integrations.googleapis.com/v1/{name=projects/PROJECT/locations/LOCATION/integrations/INTEGRATION_ID/executions/EXECUTION_ID/suspensions/SUSPENSION_ID}:lift
이 API에서 INTEGRATION_ID
제공은 선택사항입니다. 하지만 EXECUTION_ID
또는 SUSPENSION_ID
를 제공해야 합니다. ID 값이 없으면 값을 -
로 대체할 수 있습니다. 이 API에서 REGION
, PROJECT
, LOCATION
은 필수 필드입니다.
정지를 취소하면 통합 실행이 재개되고 정지 태스크 이후의 다운스트림 태스크가 실행됩니다.
다음 예시에서는 suspensions API를 사용하여 정지를 취소하는 방법을 보여줍니다.
예시 1: 정지 ID만 사용한 정지 취소
curl -H "Authorization: Bearer $TOKEN" \ -H "Content-type: application/json" \ -H X-GFE-SSL: yes \ -X POST \ -d '{"suspension_result":"Approved"}' \ https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/-/suspensions/c6a13a79-a918-41e2-82b9-32b5a010755a:lift
이 예시에서 Suspension result
변수는 정지 ID c6a13a79-a918-41e2-82b9-32b5a010755a
에 대해 Approved
로 설정됩니다.
예시 2: 실행 ID만 사용한 정지 취소
다음 curl
명령어에서는 실행 ID만 있을 때 정지를 취소하는 방법을 보여줍니다.
curl -H "Authorization: Bearer $TOKEN" \ -H "Content-type: application/json" \ -H X-GFE-SSL: yes \ -X POST \ -d '{"suspension_result":"true"}' \ https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/76a391e7-c801-45d7-8046-eab20d167ec5/suspensions/-:lift
이 예시에서 Suspension result
변수는 실행 ID 76a391e7-c801-45d7-8046-eab20d167ec5
에 대해 true
로 설정됩니다.
예시 3: 실행 ID와 정지 ID 모두를 사용한 정지 취소
다음 curl
명령어는 실행 ID와 정지 ID가 모두 있는 경우에 정지를 취소하는 방법을 보여줍니다.
curl -H "Authorization: Bearer $TOKEN" \ -H "Content-type: application/json" \ -H X-GFE-SSL: yes \ -X POST \ -d '{"suspension_result":"{processname: "Release", owner: "John", status: "approved"};"}' \ https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/products/apigee/integrations/-/executions/9b721baa-0a23-4576-b2b6-d251d163ea6f/suspensions/f01815bf-ed18-4e01-9d41-cc2ce7861e95:lift
이 예시에서 Suspension result
변수는 정지 ID f01815bf-ed18-4e01-9d41-cc2ce7861e95
에 대해 {processname: "Release", owner: "John", status: "approved"};
로 설정됩니다.
오류 처리 전략
태스크의 오류 처리 전략은 일시적인 오류로 인해 태스크가 실패할 경우 수행할 태스크를 지정합니다. 오류 처리 전략을 사용하는 방법과 다양한 유형의 오류 처리 전략에 대한 자세한 내용은 오류 처리 전략을 참조하세요.