Skip To Content

ArcGIS Notebooks를 통한 워크플로 자동화

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 ServermaxExecuteNotebookContainersPerNode 시스템 등록정보에 의해 제한됩니다.

실행이 완료되면 기존 Notebook 항목에 Notebook 상태를 저장하도록 작업을 구성할 수 있습니다.

실행되는 각 예약 작업에 대해 Notebook의 정적 HTML 뷰가 저장됩니다. 기본 설정에 따라 최근 30번의 실행 결과만 저장됩니다.

관리자는 ArcGIS Notebook Server 관리자의 작업 페이지에서 활성 상태인 각 Notebook 작업을 자세히 보거나 편집하거나 정지/계속하거나 삭제할 수 있습니다. Notebook 예약 권한이 있는 관리자와 Notebook 작성자는 Notebook 세부정보 페이지 또는 Notebook 편집기의 작업 창에서 Notebook 작업을 자세히 보거나 편집하거나 정지/계속하거나 삭제할 수 있습니다.

Notebook 실행 실패가 반복되지 않도록 하기 위해 예약된 작업이 5회 연속 실패하면 비활성화됩니다. 작업 소유자는 작업을 다시 활성화하기 전에 사용자 상호작용 없이 Notebook을 실행할 수 있는지 확인해야 합니다.

이전의 작업 실행이 계속 실행 중인 경우 예약된 새 작업 실행을 건너뜁니다. 예를 들어 작업이 15분마다 실행되도록 예약되어 있지만 해당 작업의 인스턴스가 20분 동안 실행되는 경우 예약된 다음 실행을 건너뜁니다. 이러한 문제가 정기적으로 발생하는 경우, 작업 소유자는 실행 간에 중첩되지 않도록 예약 시간 간격을 조정해야 합니다.

예약된 Notebook 작업에 대한 자세한 내용은 Notebook 작업 예약 도움말 항목을 참고하세요.

관리자는 ArcGIS Notebook Server 홈페이지의 작업 관리 창 또는 ArcGIS Notebook Server 관리자의 작업 페이지를 통해 사이트에서 활성 상태인 Notebook 작업의 세부정보를 보고 해당 작업을 편집, 정지/계속, 삭제할 수 있습니다. Notebook 예약 권한이 있는 작성자와 관리자는 Notebook 세부정보 페이지 또는 Notebook 편집기의 작업 창에서 Notebook 작업의 세부정보를 보고 해당 작업을 편집, 정지/계속, 삭제할 수 있습니다.

예약된 작업 제한

예약된 Notebook 작업과 관련된 특정 사용자, 기관, ArcGIS Notebook Server 사이트(머신) 레벨 제한이 있습니다.

최대 동시 자동 Notebook 실행(maxExecuteNotebookContainersPerNode)

예약된 작업, 웹후크 또는 Notebook 실행 API를 통해 Notebook이 실행되면 ArcGIS Notebook Server에서는 사용자 개입 없이 새 컨테이너를 자동으로 열고 Notebook을 실행합니다. ArcGIS Notebook Server는 기본 설정에 따라 각 Notebook Server 머신당 최대 10대의 Notebook을 동시에 실행하도록 구성됩니다. 관리자는 Notebook Server 사이트의 각 머신에서 사용 가능한 리소스(CPU, RAM)를 검토하여 Notebook Server에서 maxExecuteNotebookContainersPerNode 시스템 등록정보를 수정함으로써 해당 제한을 조정할 수 있습니다. 해당 제한을 초과한 후 제출된 자동 Notebook 요청은 대기 목록에 추가되며 자동 작업 실행 수가 해당 제한 아래로 내려가면 실행됩니다. 대기 시간이 제한 시간을 초과하는 경우 대기 목록에 있는 작업은 실패합니다.

비고:

이로 인해 Notebook 편집기에서 대화형으로 실행되는 Notebook의 수가 제한되지는 않습니다.

다음 단계에 따라 maxExecuteNotebookContainersPerNode 제한을 변경할 수 있습니다.

비고:

제한을 늘리면 Notebook Server에서 추가 리소스가 사용될 수 있습니다.

  1. 관리자로 ArcGIS Enterprise portal에 로그인합니다.
  2. ArcGIS Notebook Server 관리자를 엽니다.
  3. 설정 > 사이트를 클릭합니다.
  4. maxExecuteNotebookContainersPerNode 등록정보 값을 변경합니다.
  5. 저장을 클릭합니다.
  6. Notebook Server 재시작과 관련된 경고를 검토하고 저장 및 재시작을 클릭하여 변경 사항을 저장합니다.

사용자당 최대 활성 예약 Notebook 작업

Notebook 예약 권한이 있는 각 Notebook 작성자는 최대 20개의 활성 Notebook 작업을 생성할 수 있습니다. 이 제한에 도달하면 사용자는 새 예약 작업을 생성할 수 없습니다. 기존 작업이 활성에서 완료, 실패, 비활성으로 변경되면 새 작업을 생성할 수 있습니다. 해당 제한은 ArcGIS Portal 관리자 API에서 시스템 제한 업데이트 작업을 통해 ExecuteNotebooksUserLimit 등록정보를 업데이트하여 변경할 수 있습니다.

기관당 최대 활성 예약 Notebook 작업

기관의 최대 활성 예약 Notebook 작업은 200개로 제한됩니다. 해당 제한은 포털 기관 전체의 모든 사용자가 소유할 수 있는 활성 작업의 총 개수를 나타냅니다. 해당 제한에 도달하면 사용자는 새 예약 Notebook 작업을 생성할 수 없습니다. 해당 제한은 ArcGIS Portal 관리자 API에서 시스템 제한 업데이트 작업을 통해 ExecuteNotebooksOrgLimit 등록정보를 업데이트하여 변경할 수 있습니다.

예약된 작업에 대해 보고된 결과 수

작업 결과는 30회의 실행 중 보고되고 유지관리됩니다. 최근 30회의 작업 실행 이전에 실행된 모든 작업은 영구적으로 삭제됩니다. 해당 제한은 ArcGIS Portal 관리자 API에서 시스템 제한 업데이트 작업을 통해 TaskRunHistoryCount 등록정보를 업데이트하여 변경할 수 있습니다.

작업의 자동 실패

5회 연속 실패한 작업은 실패 상태로 자동 전환되어 더 이상 실행되지 않습니다. 해당 작업이 계속 실행되도록 하려면 작업 소유자가 실패를 식별하고 수정한 후 작업을 활성 상태로 변경해야 합니다. 해당 제한은 ArcGIS Portal 관리자 API에서 시스템 제한 업데이트 작업을 통해 FailedRunsDisableTask 등록정보를 업데이트하여 변경할 수 있습니다.

웹후크를 사용한 Notebook 자동화

웹후크는 한 응용프로그램이 다른 응용프로그램에 이벤트 기반 정보를 제공할 수 있는 메커니즘입니다. ArcGIS Enterprise Portal 관리자 또는 기관 웹후크 권한이 있는 사용자는 웹후크를 생성, 관리, 구성할 수 있습니다. 포털 항목, 그룹 또는 사용자와 관련된 이벤트가 발생하는 경우 소유한 Notebook을 자동으로 실행하도록 웹후크를 구성할 수 있습니다. ArcGIS Notebook Server는 웹후크 페이로드의 수신기 역할을 합니다. 웹후크가 트리거되면 사용자 상호작용 없이 선택한 Notebook을 실행하도록 Notebook Server에 HTTP 요청이 이루어집니다.

비고:

웹후크를 통한 Notebook 동시 실행 횟수는 Notebook ServermaxExecuteNotebookContainersPerNode 시스템 등록정보에 의해 제한됩니다.

웹후크 생성

웹후크는 포털의 기관 설정 페이지에서 관리할 수 있습니다. 웹후크를 생성하려면 다음 단계를 수행합니다.

  1. 기본 관리자로 또는 기관 웹후크 권한이 있는 사용자 설정 역할로 로그인합니다.
  2. 기관 > 설정 > 웹후크로 이동합니다.
  3. 웹후크 생성을 클릭합니다.
  4. 웹후크 이름을 지정합니다.

    Name=mynotebook_webhook

  5. 웹후크를 트리거할 이벤트의 유형을 선택합니다.

    기본 설정에 따라 모든 이벤트 유형(항목, 사용자, 그룹 및 역할)이 고려됩니다.

  6. 트리거를 사용하여 기본값(/)을 수락하거나 하나 이상의 값을 트리거 이벤트로 지정합니다.

    이벤트=/항목, /항목/<itemId>,/사용자

    자세한 내용은 지원되는 트리거 이벤트를 참고하세요.

    더 많은 예시는 트리거 이벤트를 참고하세요.

  7. 페이로드 유형으로 Notebook을 선택합니다.

    비고:
    Notebook 옵션을 사용할 수 없는 경우, 포털에 Notebook Server가 구성되지 않은 것입니다. Notebook이 사용 가능하지만 선택할 수 없는 경우, 웹후크 구성에 사용할 수 있는 Notebook을 소유하지 않은 것입니다. 웹후크에 사용될 Notebook 항목을 소유하고 있어야 합니다.

  8. 웹후크가 트리거될 때 실행될 Notebook을 선택합니다.
  9. 필요한 경우 웹후크 페이로드에 포함될 암호 키를 입력합니다.

    사전 생성된 무작위 값을 암호 키로 사용하도록 선택할 수도 있습니다.

  10. 웹후크 생성을 클릭하여 웹후크 설정을 저장하고 웹후크를 생성합니다.

웹후크 관리

웹후크는 포털의 기관 설정 페이지에서 관리할 수 있습니다. 기존 웹후크를 관리하려면 다음 단계를 수행합니다.

  1. 기본 관리자로 또는 기관 웹후크 권한이 있는 사용자 설정 역할로 로그인합니다.
  2. 자신 및 다른 웹후크 관리자가 생성한 웹후크 목록을 보려면 기관 > 설정 > 웹후크로 이동합니다.

다음 작업을 통해 기존 웹후크를 관리할 수 있습니다.

  • 웹후크 비활성화 - 웹후크가 활성 상태에 있을 때 활성을 클릭합니다. 상태 변경을 확인하라는 메시지가 나타납니다. 웹후크를 비활성화하려면 확인을 클릭합니다. 웹후크를 비활성화하면 웹후크가 트리거될 때 페이로드가 전달되지 않습니다.
  • 웹후크 활성화 - 웹후크가 비활성 상태에 있을 때 비활성을 클릭합니다. 상태 변경을 확인하라는 메시지가 나타납니다. 웹후크를 활성화하려면 확인을 클릭합니다. 웹후크가 활성화되면 페이로드 전달이 다시 시작됩니다.
  • 웹후크 편집 - 웹후크의 옵션 버튼을 클릭하고 편집을 클릭하여 웹후크의 트리거 이벤트 또는 웹후크에 지정된 Notebook을 업데이트합니다.
  • 웹후크 삭제 - 웹후크의 옵션 버튼을 클릭하고 삭제를 클릭합니다. 웹후크를 삭제하려면 확인을 클릭합니다.

고급 웹후크 설정

가능한 전달 시도 횟수, 경과 시간 알림, 웹후크에 대한 알림 시간 초과 등록정보 등의 등록정보를 변경하려면 고급 웹후크 설정을 사용합니다. 고급 설정은 모든 포털 웹후크에 적용됩니다. 다음 단계를 따라 고급 웹후크 설정을 수정합니다.

  1. 기본 관리자로 또는 기관 웹후크 권한이 있는 사용자 설정 역할로 로그인합니다.
  2. 고급 웹후크 등록정보의 기본값을 수정하려면 기관 > 설정 > 웹후크 > 고급 웹후크 등록정보로 이동합니다.

웹후크 페이로드

웹후크를 통해 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 실행 항목을 참고하세요.