- 인쇄
- PDF
Workflow 등록 및 관리
- 인쇄
- PDF
Classic/VPC 환경에서 이용 가능합니다 .
Workflow 메뉴는 API Template에 등록된 API를 활용하여 Workflow를 생성하고 관리하는 메뉴입니다. 직관적인 UI 편집 도구를 사용하여 원하는 Workflow를 쉽고 빠르게 생성할 수 있고, Workflow에 Schedule을 설정하여 자동으로 실행되도록 관리할 수 있으며 Workflow의 실행 이력 및 실행 성공 여부와 응답 속도 등을 확인할 수 있습니다.
Workflow 생성
Workflow를 생성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Management & Governance > API Workflow > Workflow 메뉴를 차례대로 클릭해 주십시오.
- [Workflow 생성] 버튼을 클릭해 주십시오.
- 생성할 워크플로우 이름을 입력해 주십시오.
- 워크플로우 탭에서 원하는 워크플로우를 구성해 주십시오.
- [위치 편집] 버튼을 클릭하면 Entity 순서를 변경할 수 있습니다.
- [펼치기] 버튼을 클릭하면 Entity 정보 창을 닫고 Workflow 구성도만 확인할 수 있습니다.
- 새로운 Entity를 추가하려면 [+] 아이콘을 클릭한 후 원하는 Entity를 클릭해 주십시오.
- API: 호출할 API를 지정하는 Entity
- if: 비교 연산자를 활용한 조건을 설정하는 Entity
- Loop: 반복 조건을 설정하는 Entity
- Set properties: Properties 값을 설정하는 Entity
- 생성한 Entity를 삭제하려면 [Entity 삭제] 버튼을 클릭해 주십시오.
- 'start' 엔티티와 'finish' 엔티티는 필수 엔티티이므로 삭제할 수 없습니다.
- 구성한 워크플로우가 정상적으로 작동하는지 확인하려면 [테스트 실행] 버튼을 클릭해 주십시오.
- [Workflow 생성] 버튼을 클릭해 주십시오.
- Entity 유형 및 Entity 편집 방법은 Entity를 참조해 주십시오.
Entity
Entity는 Workflow를 구성하는 최소 단위로, 3단계 하위 구조로 구성할 수 있습니다.
Entity 유형
Workflow의 Entity 유형은 다음과 같습니다.
- Start: Workflow의 시작 지점을 명시하기 위한 Entity입니다. Workflow 생성 시 자동으로 생성되며 삭제할 수 없습니다. Workflow의 Endpoint를 호출할 때 request에 담겨 있는 Parameter, Header, Body를 편집할 수 있습니다. 이를 활용해 매개 변수를 넘겨 받아 동작에 사용할 수 있습니다.
- End: Workflow의 종료 지점을 명시하기 위한 Entity입니다. Workflow 생성 시 자동으로 생성되며 삭제할 수 없습니다. Workflow의 Endpoint를 호출할 때 반환되는 response에 담을 Header, Body를 편집할 수 있습니다. Property를 활용하여
${propertyKey}
형태로 값을 입력하면 실제 반환 시 해당 Property 값으로 치환되어 보내집니다. - API: 호출할 API를 지정하는 Entity입니다. 이미 생성된 Workflow의 Endpoint를 입력하여 Workflow의 중첩이 가능합니다.
- IF: 비교 연산자를 통한 조건을 설정하는 Entity입니다. 지원하는 연산자는 <, <=, >, =>, ==, = 입니다.
- Loop: 반복 조건을 설정하는 Entity입니다. 단순 반복과 JsonArrayList를 cursor 값으로 하여 반복할 수 있습니다. 최대 반복 횟수는 1,000회로 제한됩니다.
- Set Properties: Property는 Workflow 동작 시 공통으로 접근할 수 있는 변수입니다. Set Properties Entity를 통해 해당 Property에 값을 넣을 수 있으며 사칙 연산자를 활용하여 값을 연산할수 있습니다. 이를 활용해 response 중에 사용할 값을 획득하고 이를 End entity에서 반환하도록 할 수 있습니다. 먼저 Property를 생성한 후, Set Properties Entity를 통해 특정 Entity의 Path 로 접근하여 해당 값을 Property에 저장해야 합니다.
Entity 편집
Workflow 구성에서 Entity를 추가하려면 [+] 아이콘을 클릭한 후 원하는 Entity를 클릭해 주십시오.
Start
Workflow의 시작 지점을 명시하기 위한 Entity입니다. Workflow 생성 시 자동으로 생성되며 삭제할 수 없습니다.
Workflow의 Endpoint를 호출할때 request에 담겨 있는 Parameter, Header, Body를 편집할 수 있고, 이를 활용해 매개변수를 넘겨 받아 동작에 사용할 수 있습니다. 예를 들어 Endpoint 호출 시 Query parameter로 'date'라는 값을 보낼 때 이 값을 Workflow에서 사용하려면 Start Entity에 'date'라는 query parameter를 설정해야 합니다.
End
Workflow의 종료 지점을 명시하기 위한 Entity입니다. Workflow 생성 시 자동으로 생성되며 삭제할 수 없습니다. Workflow의 Endpoint 호출 시 반환되는 response에 담을 Header와 Body를 편집할 수 있습니다. 만약 Body를 json 형태의 스트링으로 설정한 후, Key, value 등을 Property로 활용하여 ${propertyKey} 형태로 값을 입력하면 실제 반환 시 해당 프로퍼티에 저장된 값으로 치환되어 보내집니다.
END entity body
{ "result": "${propertyKey}" }
Workflow endpoint response
{ "result": "propertyValue" }
API
호출할 API를 설정하는 Entity입니다. 직접 API 정보를 입력하거나 이미 등록한 API를 불러올 수 있습니다. 또한 사용자가 생성한 Workflow도 불러올 수 있으므로 Microservice 단위의 Workflow를 생성한 후 필요한 Workflow를 적절하게 조합할 수 있습니다.
API Entity를 추가하는 방법은 다음과 같습니다.
- Workflow 구성도에서 [+] 아이콘을 클릭한 후 API를 클릭해 주십시오.
- 화면 우측의 Entity Name에 이름을 입력해 주십시오.
- Request 영역에 API 정보를 입력해 주십시오.
- API Template 메뉴에 등록한 API 정보를 가져오려면 API Template의 [불러오기] 버튼을 클릭해 주십시오.
- 이미 생성한 워크플로우 정보를 불러오려면 Workflow의 [불러오기] 버튼을 클릭해 주십시오.
IF
비교 연산자를 활용하여 조건을 설정하는 Entity입니다. 예를 들어 API 호출을 통해 얻은 결과가 특정값 이상이거나 이하일 경우 다음으로 수행할 작업이 무엇인지를 설정할 수 있습니다. 조건 설정 시 지원하는 연산자는 '- <, <=, >, =>, ==, =' 입니다.
IF Entity를 추가하는 방법은 다음과 같습니다.
- Workflow 구성도에서 [+] 아이콘을 클릭한 후 if를 클릭해 주십시오.
- 화면 우측의 Condition 영역에 관련 정보를 입력해 주십시오.
- Logical: and, or 함수 선택. 1개 이상의 조건이 추가된 경우에만 선택 가능
- Operand 1st: 조건 선택. Properties에 추가된 Key 값 중 선택 가능
- Comparison: 비교 연산자 선택
- Operand 2nd: 기준값 입력
- 조건을 설정한 후 [추가] 버튼을 클릭해 주십시오.
- 화면 좌측 Entity 구성도의 [위치편집] 버튼을 클릭하여 IF Entity 하위에 수행할 Entity를 이동시켜 주십시오.
- IF 조건이 만족할 때 수행할 작업입니다.
Loop
특정 작업에 대한 반복 조건을 설정하는 Entity입니다. 최대 반복 횟수는 1,000회로 제한됩니다.
Loop Entity를 추가하는 방법은 다음과 같습니다.
- Workflow 구성도에서 [+] 아이콘을 클릭한 후 Loop를 클릭해 주십시오.
- 화면 우측의 Condition 영역에 관련 정보를 입력해 주십시오.
- [forEach] Type: Json Array 형태의 다수의 데이터를 반복 처리 가능. API의 Response로 Json Array List 형태를 받아서 각 개체마다 반복 작업이 필요할 경우 사용함. 이 경우 Target은 Json Array 형태의 Property여야만 하며, Json Array Property에는 앞 단계에서 사용할 Response의 Json Array List를 넣어줘야 함
- [count] Type: 단순 반복 횟수를 직접 설정. count 선택 시 나타나는 입력 영역에 반복할 횟수 입력
- ignore Error: 오류 발생 시 중단 여부 설정. 활성화할 경우 오류가 발생하더라도 다음 단계로 넘어감
<예제>
- forEach의 Cursor value 영역
//targetList property 에 담긴 값 [ { "servername":"a", "ip":"aaa.bbb.ccc.ddd" }, { "servername":"b", "ip":"bbb.bbb.ccc.ddd" } ]
targetList라는 Json Array 형태의 Property가 있고, 앞 단계에서 API response 혹은 Start에서 넘겨받은 파라미터를 SetProperties를 사용하여 targetList에 저장했다고 가정합니다.
2개의 jsonObject를 가진 각각의 List를 반복 처리를 하고 싶을 경우, type은 forEach를 선택하고 target으로 ${targetList} 를 선택해 주십시오. Loop는 2개의 json Object에 대해서 아래와 같은 형태로 반복 작업을 수행하게 됩니다.
//forEach loop 1회차
"cursor":{
"servername":"a",
"ip":"aaa.bbb.ccc.ddd"
}
//forEach loop2회차
"cursor":{
"servername":"b",
"ip":"bbb.bbb.ccc.ddd"
}
Loop는 각각의 jsonObject에 접근할 수 있지만, Loop의 하위에 있는 실제 반복 처리를 해야 하는 Entity에서는 cursor 값에 접근할 수 없습니다. 그러므로 Loop에서 반복 시마다 Property에 cursor 값을 넣어 하위 Entity에서 사용할 수 있도록 해야 합니다.
severname이 b일 경우를 찾는 특정 작업을 수행하는 예제는 다음과 같습니다.
- 해당 값을 저장하고 넘길 'servername'라는 Property를 생성해 주십시오.
- Loop의 Cursor Value 에서 Property > ${servername} 선택, Cursor value 탭에서는 ${cursor.servername}를 선택해 주십시오.
- 반복문이 수행될 때마다 'servername' Property에 target의 현재 반복 중인 cursor의 severname이 저장됨
- Loop 하위에 IF Entity를 추가하고 정보를 입력해 주십시오.
- Operand1st: ${servername}
- Comparison: ==(Equal)
- Operand2nd: 직접 입력, b
반복이 시작될 때 해당 Target의 cursor.servername을 'severname' Property에 저장한 후 Loop 하위의 Entity들이 'severname' Property를 사용하는 형태로 데이터를 처리하게 됩니다.
Set Properties
Properties는 Workflow 내에서 공통으로 사용할 Property를 관리하는 Entity입니다. 이는 두가지 기능을 가지고 있습니다.
기본적으로 Set Properties Entity를 통해 Properties 관리 창에서 설정한 Properties에 API의 연산 결과를 담을 수 있습니다. 첫 번째 API에서 전달된 값을 두 번째 API로 전달해야 하거나 Workflow 실행 시 계속 사용해야 하는 특정한 값이 있을 경우 Property로 관리합니다.
두 번째로 Operational Function으로서 Property의 값을 연산하여 가공할수 있습니다. 기본적인 사칙연산 등을 제공하며 각 Property 종류별로 수행할 수 있는 연산은 다릅니다.
Basic Set Properties
- Workflow 구성도에서 [+] 아이콘을 클릭한 후 Set properties를 클릭해 주십시오.
- Entity Name에 이름을 입력해 주십시오.
- 관련 정보를 입력하고 [추가] 버튼을 클릭해 주십시오.
- Property: 사전에 설정한 변수 설정 가능. Properties 관리 창에서 생성한 Property 목록이 표시됨
- Entity: 가져올 Entity 값 지정 가능. Start Entity와 추가된 API Entity 목록이 표시되며 Request Parameter, Request Header, Response Header, Response Body의 값을 가져올 수 있음
- Key: 가져올 값을 직접 입력하거나 선택 가능. json object 에 한해서 key1.key2.key3 형태로 접근할 수 있습니다.
Operational Function
- Workflow 구성도에서 [+] 아이콘을 클릭한 후 Set properties를 클릭해 주십시오.
- SetProperties 의 하단부에 Operational Function 용 테이블을 조작해 주십시오.
- Entity Name에 이름을 입력해 주십시오.
- 관련 정보를 입력하고 [추가] 버튼을 클릭해 주십시오.
- Property: 연산 후 결과값이 저장될 Property 설정. 해당 Property 종류는 연산할 값들을 담을수 있어야 함
- Operator: 수행할 연산 종류 선택. Property의 종류에 따라 달라짐
- String Property: concat(문자열 이어 붙이기)
- Json Array: add(값 추가),clear(배열 clear),delete(값제거)
- Json Object: add(추가),delete(제거)
- Long,Integer,Double : add(더하기), sub(빼기), mul(곱하기), div(나누기), sum(합산)
- Operand: 실제 연산되는 값을 가지고 있는 피연산자. Operator의 종류에 따라 1개나 2개 혹은 없을 수 있음.
Properties
Properties는 Workflow에서 사용 가능한 변수 값으로, Workflow의 모든 Entity에서 해당 Properties에 담긴 값을 조회하고 불러올 수 있습니다. Properties에 설정한 값은 ${property key}
형태로 다른 Entity에서 참조할 수 있고, 이를 통해 API의 연산 결과를 담아 Loop Entity의 curson value로 활용하거나 If Entity의 조건절에 활용하는 등 다양한 형태로 사용할 수 있습니다.
Workflow에서 공통으로 사용할 Properties를 설정하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Management & Governance > API Workflow > Workflow 메뉴를 차례대로 클릭해 주십시오.
- Workflow 이름을 클릭하여 Workflow 편집 화면으로 이동해 주십시오.
- 화면 우측 상단의 [Properties] 버튼을 클릭해 주십시오.
- Properties 관리 창이 나타나면 Workflow에서 사용할 변수를 설정해 주십시오.
- String, Long, Integer,Double, Json Array, Json Object 형식을 지원합니다.
- [추가] 버튼을 클릭해 주십시오.
Workflow 실행 결과 확인
Workflow의 실행 결과를 모니터링할 수 있습니다. Workflow의 실행 이력을 Scatter Chart로 표시하며, 이를 통해 Workflow의 성공 여부 및 실행 시간의 분포를 한 번에 파악할 수 있습니다.
Workflow 실행 결과를 확인하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Management & Governance > API Workflow > Workflow 메뉴를 차례대로 클릭해 주십시오.
- 실행 이력을 확인할 Workflow의 [결과 보기] 버튼을 클릭해 주십시오.
- 특정 시간대의 실행 이력을 확인하려면 Scatter Chart에서 아이콘을 클릭한 후 원하는 영역을 지정해 주십시오.
- 결과 ID를 클릭하여 상세 결과를 확인해 주십시오.
실행 이력은 1개월간 보관되며, 1개월이 지난 이력은 자동으로 삭제됩니다. 세부 내용은 일주일 동안 보관됩니다.
자동 실행 스케줄 설정
Workflow의 실행 주기를 설정하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Management & Governance > API Workflow > Workflow 메뉴를 차례대로 클릭해 주십시오.
- 실행 주기를 설정할 Workflow를 선택한 후 **[Schedule] ** 버튼을 클릭해 주십시오.
- Schedule 설정 창이 나타나면 시작/종료 기간을 설정해 주십시오.
- Cron expression 입력 영역에 자동 실행 주기를 크론 표현식으로 입력해 주십시오.
- Request 정보를 입력해 주십시오.
- [적용] 버튼을 클릭해 주십시오.
Authority 관리
NCP Signature 인증 및 AWS Signature 인증을 위한 키 정보를 등록할 수 있습니다.
API Workflow에서는 NCP Signature 인증 정보를 등록해 두면 별도의 Signature 설정 과정 없이 간편하게 네이버 클라우드 플랫폼의 API를 호출할 수 있습니다. NCP Signature를 등록하는 방법을 기준으로 설명합니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Management & Governance > API Workflow > Workflow 메뉴를 차례대로 클릭해 주십시오.
- [Authority] 버튼을 클릭해 주십시오.
- Authority 관리 창이 나타나면 NCP Signature의 [등록] 버튼을 클릭해 주십시오.
- Access Key와 Secret Key를 입력해 주십시오.
- NCP Signature의 Access Key와 Secret Key는 포털 > 마이페이지 > 계정 관리 > 인증키 관리 메뉴에서 확인할 수 있습니다.
- [저장] 버튼을 클릭해 주십시오.
- 동일한 방법으로 AWS Signature를 등록할 수 있습니다.
- 등록된 Workflow가 한 개 이상 존재해야 [Authority] 버튼이 활성화됩니다.
Workflow 관리
Workflow를 수정하고 삭제하는 방법과 기존 Workflow 정보를 활용하여 새로운 Workflow를 생성하는 방법을 설명합니다.
Workflow 복사
기존 Workflow 정보를 복사한 신규 Workflow를 생성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Management & Governance > API Workflow > Workflow 메뉴를 차례대로 클릭해 주십시오.
- 복사할 Workflow를 선택한 후 [복제 생성] 버튼을 클릭해 주십시오.
- 선택한 Workflow와 동일한 값이 입력된 Workflow 생성 화면이 나타납니다.
- Workflow 정보를 수정한 후 [Workflow 생성] 버튼을 클릭해 주십시오.
Workflow 수정
Workflow를 수정하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Management & Governance > API Workflow > Workflow 메뉴를 차례대로 클릭해 주십시오.
- 수정할 Workflow를 선택한 후 [수정] 버튼을 클릭해 주십시오.
- Workflow 수정 화면이 나타나면 Workflow를 수정한 후 [Workflow 수정] 버튼을 클릭해 주십시오.
Workflow 삭제
Workflow를 삭제하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Management & Governance > API Workflow > Workflow 메뉴를 차례대로 클릭해 주십시오.
- 삭제할 Workflow를 선택한 후 [삭제] 버튼을 클릭해 주십시오.
- 삭제 창이 나타나면 [확인] 버튼을 클릭해 주십시오.