Skip To Content

웹후크 이벤트로 Notebook 워크플로 자동화

웹후크는 한 응용프로그램이 다른 응용프로그램에 이벤트 기반 정보를 제공할 수 있는 메커니즘입니다. 기관 또는 서비스와 관련된 이벤트가 발생할 때 자동으로 Notebook을 실행하도록 기관서비스 레벨에서 웹후크를 구성할 수 있습니다.

기관 웹후크를 사용한 Notebook 자동화

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

비고:

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

기관 웹후크 생성

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

  1. 기본 관리자로 또는 기관 웹후크 권한이 있는 사용자 설정 역할로 로그인합니다.
  2. 기관 > 설정 > 웹후크를 클릭합니다.
  3. 기관 웹후크 섹션에서 웹후크 생성을 클릭하세요.
  4. 웹후크 이름을 지정합니다.
  5. 웹후크를 트리거할 이벤트의 유형을 선택합니다.

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

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

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

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

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

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

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

기관 웹후크 관리

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

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

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

  • 웹후크 비활성화 — 웹후크가 활성 상태에 있을 때 활성을 클릭합니다. 웹후크를 비활성화하면 웹후크가 트리거될 때 페이로드가 전달되지 않습니다.
  • 웹후크 활성화 — 웹후크가 비활성 상태에 있을 때 비활성을 클릭합니다. 웹후크가 활성화되면 페이로드 전달이 다시 시작됩니다.
  • 웹후크 편집 — 웹후크의 옵션 버튼을 클릭하고 편집을 클릭하여 웹후크를 업데이트하세요.
  • 웹후크 삭제 — 웹후크의 옵션 버튼을 클릭하고 삭제를 클릭합니다. 웹후크를 삭제하려면 확인을 클릭합니다.

고급 기관 웹후크 설정 수정

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

  1. 기본 관리자로 또는 기관 웹후크 권한이 있는 사용자 설정 역할로 로그인합니다.
  2. 기관 > 설정 > 웹후크를 클릭합니다.
  3. 기관 웹후크 섹션에서 고급 설정을 클릭하여 고급 웹후크 등록정보의 기본값을 수정하세요.

기관 웹후크의 페이로드

웹후크에서 Notebook을 실행하면 웹후크의 페이로드 정보가 초기 셀의 Notebook에 자동으로 삽입됩니다. 삽입되고 나면 웹후크 페이로드에 제공된 정보는 추가 자동화 워크플로를 위해 Notebook에서 사용할 수 있습니다.

Notebook에 포함된 웹후크 페이로드 정보는 다음과 같습니다.


webhookPayload = {
    "properties": {
        "itemId": "<notebook_item_id>"
    },
    "events": [
        {
            "source": "<items | user | group | role>",
            "id": "<source_id>",
            "userId": "<user_id_of_member_triggered_webhook>",
            "when": 1742596800000,
            "operation": "<operation_triggered_webhook>",
            "properties": {"<operation_details>"},
            "username": "<username_of_member_triggered_webhook>"
        }
    ],
    "info": {
        "webhookId": "<webhook_id>",
        "portalURL": "<portal_url>",
        "webhookName": "<webhook_name>",
        "when": 1742596805000
    }
}

서비스 웹후크를 사용한 Notebook 자동화

웹후크(비동기 지오프로세싱 서비스, 피처 서비스, 기타 일반 웹후크 포함)는 특정 이벤트에 대한 응답으로 Notebook 실행을 트리거할 수 있습니다. 관리자는 웹후크 수신기 URL을 해당 웹후크의 후크 또는 페이로드 URL로 등록할 수 있습니다. 웹후크와 연결된 특정 이벤트가 트리거되면 자동으로 Notebook 웹후크 수신기 URL을 호출하여 해당 Notebook의 실행을 시작합니다.

다음 섹션에서는 ArcGIS Notebook Server에서 Notebook 웹후크 수신기를 구성하는 방법을 설명합니다.

API 키 생성 및 복사

API 키는 서비스 웹후크가 연결된 Notebook 항목을 실행하고, 해당 Notebook을 실행하는 데 필요한 ArcGIS Enterprise 기능에 안전하게 접근하도록 권한을 부여하는 장기 토큰입니다.

API 키는 기관에서 호스팅된 항목 유형인 API 키 자격 증명을 사용하여 생성됩니다. API 키 자격 증명에는 API 키를 생성하고 권한 및 만료일과 같은 등록정보를 관리할 수 있는 설정이 포함되어 있습니다. API 키 자격 증명을 생성하고 응용프로그램에서 API 키를 사용하는 프로세스를 API 키 인증이라고 합니다.

API 키를 생성하고 복사하려면 다음 단계를 완료하세요.

  1. 관리 사용자로 포털에 로그인합니다.
  2. API 키 항목의 항목 세부정보 페이지를 클릭합니다.
  3. API 키를 생성하고 복사하는 방법에 대한 단계는 API 키 생성 튜토리얼에 있는 단계를 따르세요. Notebook 생성 및 편집, 항목 생성, 업데이트, 삭제 권한을 부여하고 필요한 경우 ArcPy에 대한 고급 Notebook 권한을 부여합니다.

    Notebook에서 수행한 워크플로에 따라 추가 권한이 필요할 수 있습니다.

Notebook 웹후크 수신기 등록

Notebook 웹후크 수신기를 등록하려면 다음 단계를 완료합니다.

  1. 관리자로 포털에 로그인합니다.
  2. 기관 > 설정 > 웹후크 > 웹후크 수신기 생성을 클릭하세요.
  3. 웹후크 수신기의 이름을 입력하세요.
  4. 웹후크 수신기가 실행할 Notebook을 선택하세요.
  5. 웹후크의 출처를 확인하는 데 사용할 32자리의 시크릿 키를 입력하세요.
  6. 암호화된 페이로드를 확인하는 데 사용할 시그니처 헤더의 쉼표로 구분된 목록을 입력하세요.
  7. Notebook 항목에 대한 접근 권한, Notebook 생성/고급 Notebook 생성 권한, Notebook에서 사용되는 기타 GIS 기능 권한이 포함된 API 토큰을 입력하세요.
  8. 필요에 따라 JSON 형식으로 매개변수를 입력하세요.
  9. 수신기 생성을 클릭하세요.

비동기 지오프로세싱 서비스 또는 피처 서비스 웹후크 생성

비동기 지오프로세싱 서비스 또는 피처 서비스 웹후크를 생성하려면 다음 단계를 완료합니다.

  1. 웹후크 수신기 URL, 시크릿 헤더, 시그니처 헤더를 사용하여 서비스 웹후크를 생성합니다.
  2. 특정 서비스 웹후크 이벤트가 트리거될 때마다 Notebook 웹후크 수신기와 연결된 Notebook이 실행되는지 확인합니다.

서비스 웹후크의 페이로드

웹후크에서 Notebook을 실행하면 웹후크의 페이로드 정보가 초기 셀의 Notebook에 자동으로 삽입됩니다. 삽입되고 나면 웹후크 페이로드에 제공된 정보는 추가 자동화 워크플로를 위해 Notebook에서 사용할 수 있습니다.

피처 서비스 웹후크

다음 코드는 피처 서비스 웹후크 페이로드의 예시입니다.

webhookPayload = {
    "serviceType": "FeatureServer",
    "changesUrl": "<change_url>",
    "name": "<webhook_name>",
    "id": "<webhook_id>",
    "folderName": "<folder_name>",
    "serviceName": "<service_name>",
    "events": [
        {
            "eventType": "FeaturesCreated",
            "when": 1740436800000
        },
        {
            "eventType": "FeaturesDeleted",
            "when": 1740436810000
        },
        {
            "eventType": "FeaturesUpdated",
            "when": 1740436820000
        }
    ]
}

지오프로세싱 서비스 웹후크

다음 코드는 지오프로세싱 서비스 웹후크 페이로드의 예시입니다.

webhookPayload = {
    "serviceType": "GPServer",
    "jobId": "<job_id>",
    "statusURL": "<status_url>",
    "name": "<webhook_name>",
    "taskName": "<task_name>",
    "folderName": "<folder_name>",
    "serviceName": "<service_name>",
    "events": [
        {
            "eventType": "esriJobSucceeded",
            "when": 1742337000000
        }
    ]
}