ArcGIS Notebook Server를 사용하면 예약된 Notebooks, 웹후크 및 Notebook 실행 관리 API를 사용하는 자체 사용자 설정 스크립트를 통한 자동화 등의 여러 워크플로 자동화 방법을 구현할 수 있습니다.
비고:
예약된 작업, 웹후크 또는 Notebook 실행 API를 사용하여 Notebook을 자동화하려면 Notebook에서 3.0 이후 버전의 런타임을 사용해야 합니다.
Notebook 작업 예약
10.8.1 버전부터 Notebook 작성자는 향후 한 번 또는 반복적으로 고정된 시간에 ArcGIS Notebooks가 자동 실행되도록 예약할 수 있습니다. Notebooks 예약 작업을 생성하여 일상적인 워크플로를 자동화하고, 데이터 사용량이 적은 시간에 데이터 집약적 프로세스를 실행하며, 정기적으로 데이터셋을 업데이트할 수 있습니다. 예를 들어 Notebook을 예약하여 다음을 수행할 수 있습니다.
- 매월 업데이트되는 온라인 원본에서 데이터를 가져오고, 데이터를 자동으로 지우며 필요한 변환을 적용하고, 데이터를 작업 영역으로 이동합니다.
- 머신 리소스가 사용되지 않는 야간에 대량 처리 성능이 요구되는 빅데이터 분석 워크플로를 실행합니다.
- 지난 한 주 동안 포털에 계정을 만든 사용자를 관리하고 이메일을 통해 목록을 받습니다.
하나 이상의 Notebook 작업을 생성할 수 있습니다. 기본 설정에 따라 Notebook 작성자 또는 관리자는 최대 20개의 작업을 생성할 수 있습니다. Notebook의 소유권을 변경하면 해당 Notebook과 연결된 모든 작업이 비활성화되고 새로운 소유자에게 할당됩니다.
예약된 작업을 통해 Notebooks를 매개변수화할 수 있습니다. Notebook이 매개변수화되면 상호작용 없이 다양한 입력에 적용할 수 있는 일반 코드를 작성할 수 있습니다. 선택한 매개변수는 작업 실행 시 Notebook에 삽입되며, 필요에 따라 Notebook에 저장할 수 있습니다. 예를 들어 매개변수화된 Notebook을 사용하여 지역 전체의 대기 오염 보고서를 반복적으로 생성할 수 있습니다. Notebook에는 여러 개의 예약된 작업(연구할 각 지역당 하나씩)이 있을 수 있으며, 각 작업에 대한 도시 이름 및 오염 유형과 같은 매개변수화된 입력을 Notebook에 제공할 수 있습니다.
비고:
Notebook 작업의 동시 실행 횟수는 Notebook Server의 maxExecuteNotebookContainersPerNode 시스템 등록정보에 의해 제한됩니다.
실행이 완료되면 기존 Notebook 항목에 Notebook 상태를 저장하도록 작업을 구성할 수 있습니다.
실행되는 각 예약 작업에 대해 Notebook의 정적 HTML 뷰가 저장됩니다. 기본 설정에 따라 최근 30번의 실행 결과만 저장됩니다.
관리자는 ArcGIS Notebook Server 관리자의 작업 페이지에서 활성 상태인 각 Notebook 작업을 자세히 보거나 편집하거나 정지/계속하거나 삭제할 수 있습니다. Notebook 예약 권한이 있는 Notebook 작성자와 관리자는 Notebook 세부정보 페이지 또는 Notebook 편집기의 작업 창에서 Notebook 작업을 자세히 보거나 편집하거나 정지/계속하거나 삭제할 수 있습니다.
Notebook 실행 실패가 반복되지 않도록 하기 위해 예약된 작업이 5회 연속 실패하면 비활성화됩니다. 작업 소유자는 작업을 다시 활성화하기 전에 사용자 상호작용 없이 Notebook을 실행할 수 있는지 확인해야 합니다.
이전의 작업 실행이 계속 실행 중인 경우 예약된 새 작업 실행을 건너뜁니다. 예를 들어 작업이 15분마다 실행되도록 예약되어 있지만 해당 작업의 인스턴스가 20분 동안 실행되는 경우 예약된 다음 실행을 건너뜁니다. 이러한 문제가 정기적으로 발생하는 경우, 작업 소유자는 실행 간에 중첩되지 않도록 예약 시간 간격을 조정해야 합니다.
예약된 Notebook 작업에 대한 자세한 내용은 Notebook 작업 예약 도움말 항목을 참고하세요.
웹후크를 사용한 Notebook 자동화
웹후크는 한 응용프로그램이 다른 응용프로그램에 이벤트 기반 정보를 제공할 수 있는 메커니즘입니다. ArcGIS Enterprise Portal 관리자는 웹후크를 생성, 관리, 구성할 수 있습니다. 포털 항목, 그룹 또는 사용자와 관련된 이벤트가 발생하는 경우 소유한 Notebook을 자동으로 실행하도록 웹후크를 구성할 수 있습니다. 웹후크가 트리거되면 사용자 상호작용 없이 선택한 Notebook을 실행하도록 Notebook Server에 HTTP 요청이 이루어집니다.
비고:
웹후크를 통한 Notebook 동시 실행 횟수는 Notebook Server의 maxExecuteNotebookContainersPerNode 시스템 등록정보에 의해 제한됩니다.
웹후크 생성
웹후크는 ArcGIS Portal Directory(API 공유)를 통해서만 관리할 수 있습니다. 웹후크를 생성하려면 다음 단계를 수행합니다.
- ArcGIS Portal Directory로 이동합니다.https://machine.domain.com/webadaptor/sharing/rest
- 관리자로 로그인합니다.
웹후크는 관리자만 생성 및 관리할 수 있습니다.
관리자 사용자 페이지가 나타납니다.
- 기관 ID 하이퍼링크를 클릭하거나 아래 양식을 요청하여 Portal Self 리소스 페이지로 이동합니다.https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>
- 페이지 아래쪽으로 스크롤하여 하위 리소스의 Webhooks로 이동합니다.https://machine.domain/com/webadaptor/sharing/rest/portals/<orgID>/webhooks
- 지원되는 작업에서 웹후크 생성을 선택합니다.
- 웹후크의 매개변수를 지정합니다. Notebook을 자동화하는 웹후크를 생성하려면 다음 정보를 입력합니다.
매개변수 세부정보 name (필수)
웹후크의 이름을 지정합니다.
예시: name=mynotebook_webhook
url (선택)
페이로드 URL은 시스템에서 자동으로 파생되므로 Notebooks용 웹후크를 구성할 때 필요하지 않습니다. 이 정보는 입력할 필요가 없습니다.
config (필수)
웹후크의 구성 등록정보를 설정합니다.
비고:
관리자여야 하며, 웹후크를 통해 실행할 Notebook 항목을 소유하고 있어야 합니다.
예:
{ "deactivationPolicy": { "numberOfFailures": 5, "daysInPast": 5 }, "properties": { "federatedServer": { "itemId": "<Notebook item id to be executed>", "tokenTypeToSend": "owner", "tokenExpirationTimeMinutes": 10 } } }
events (선택)
웹후크를 트리거할 이벤트의 URI 표시입니다. changes가 manual로 지정된 경우에는 이 매개변수가 필요합니다. 자세한 내용은 지원되는 트리거 이벤트 섹션을 참고하세요. 트리거 이벤트의 추가 예시는 REST API 문서에서 웹후크 생성의 트리거 이벤트 섹션을 참고하세요.
예:
events=/items,/users
이러한 매개변수에 대한 자세한 내용은 웹후크 REST API 설명서를 참고하세요.
이제 내 웹후크가 웹후크(https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>/webhooks) 아래에 나열됩니다.
웹후크를 사용한 자동화에 대한 자세한 내용은 ArcGIS Enterprise의 웹후크 도움말 항목을 참고하세요.
웹후크 관리
다음 양식을 요청하여 ArcGIS Portal Directory를 통해 웹후크를 관리할 수 있습니다.
웹후크 관리에 지원되는 작업은 다음과 같습니다.
- Update Webhook - 웹후크의 매개변수를 업데이트합니다. 지정된 웹후크의 이름, 페이로드 URL, 구성 또는 트리거 이벤트를 업데이트할 수 있습니다.
- Delete Webhook - 포털에서 웹후크를 제거합니다.
- Deactivate Webhook 및 Activate Webhook - 웹후크를 비활성화하면 웹후크가 트리거될 때 페이로드가 전달되지 않습니다. 웹후크가 비활성화되면 웹후크 활성화 작업을 통해 페이로드 전달을 재개할 수 있습니다.
Notification Status 페이지는 특정 웹후크와 연관된 트리거 이벤트의 관련 정보를 표시합니다. 이 테이블을 사용하여 웹후크뿐 아니라 웹후크가 트리거된 시간, 페이로드 URL 및 전달된 페이로드에서 수신된 응답과 같이 전달된 페이로드의 세부정보를 모니터링할 수 있습니다. 페이로드가 성공적으로 전달되었음을 나타내는 레코드는 하루가 지나면 제거됩니다. 실패한 전달 시도를 나타내는 레코드는 7일 동안 저장됩니다.
이러한 작업의 예시는 웹후크 API를 참고하세요.
웹후크를 사용한 자동화에 대한 자세한 내용은 ArcGIS Enterprise의 웹후크 도움말 항목을 참고하세요.
웹후크 페이로드
웹후크를 통해 Notebook을 실행하면 웹후크의 페이로드 정보가 초기 셀의 Notebook에 자동으로 삽입됩니다. 삽입되고 나면 웹후크 페이로드에 제공된 정보는 추가 자동화 워크플로를 위해 Notebook에서 사용할 수 있습니다.
Notebook에 포함된 웹후크 페이로드 정보는 다음과 같습니다.{
"properties": {
"itemId": "<itemId of the current notebook>"
},
"events": [
{
"source": "items",
"id": "<itemId of the item that resulted in webhook trigger>",
"userId": "<webhook user>",
"when": \<epoch time in ms when webhook was triggered\>,
"operation": "<type of operation that resulted in webhook trigger>",
"properties": {},
"username": "<webhook username>"
}
],
"info": {
"webhookId": "<webhookId>",
"portalURL": "<public portal url>",
"webhookName": "<webhook name>",
"when": \<epoch time in ms when webhook was triggered\>,
}
}
Notebook 실행 API
또한 관리자 및 Notebook 작성자는 ArcGIS Notebook Server 관리자 디렉터리에서 Notebook 실행 작업을 수행하여 사용자 상호작용 없이도 Notebook을 실행하도록 자동화할 수 있습니다. 이 작업은 호출 시 Notebook을 자동으로 실행하지만 자체 사용자 설정 스크립트를 사용하여 설정된 시간에 또는 정기적으로 자동 실행되도록 예약할 수 있습니다. 또한 cron 작업 또는 Windows 스케줄러를 사용하여 설정된 시간 또는 반복 주기로 실행되도록 Notebook 실행 작업을 예약할 수 있습니다.
자세히 알아보려면 관리자 디렉터리 참조 가이드의 Notebook 실행 항목을 참고하세요.
최대 동시 자동 Notebook 실행
예약된 작업, 웹후크 또는 Notebook 실행 API를 통해 Notebook이 실행되면 ArcGIS Notebook Server에서는 사용자 상호작용 없이 새 컨테이너를 열고 자동으로 Notebook을 실행합니다. ArcGIS Notebook Server는 기본 설정에 따라 각 Notebook Server 머신당 최대 10대의 Notebook을 동시에 실행하도록 구성됩니다. 관리자는 Notebook Server 사이트의 각 머신에서 사용 가능한 리소스(CPU, RAM)를 검토하여 Notebook Server에서 maxExecuteNotebookContainersPerNode 시스템 등록정보를 수정함으로써 이 제한을 조정할 수 있습니다.