InfoGrab DocsInfoGrab Docs

Databricks 노드 문서

요약

Databricks 노드를 사용하여 Databricks에서 작업을 자동화하고 Databricks를 다른 애플리케이션과 통합할 수 있습니다. 이 페이지에서는 Databricks 노드가 지원하는 작업(operation) 목록과 추가 리소스 링크를 확인할 수 있습니다.

Databricks 노드를 사용하여 Databricks에서 작업을 자동화하고 Databricks를 다른 애플리케이션과 통합할 수 있습니다. n8n은 잡 실행, SQL 쿼리 실행, Unity Catalog 객체 관리, ML 모델 서빙 엔드포인트 쿼리, 벡터 검색 인덱스 작업 등 다양한 Databricks 기능을 기본적으로 지원합니다.

이 페이지에서는 Databricks 노드가 지원하는 작업(operation) 목록과 추가 리소스 링크를 확인할 수 있습니다.

Note

자격 증명

인증 설정에 대한 안내는 Databricks 자격 증명을 참고하세요.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

작업#

  • Databricks SQL
    • Execute Query
  • File
    • Create Directory
    • Delete Directory
    • Delete File
    • Download File
    • Get File Metadata
    • List Directory
    • Upload File
  • Genie
    • Create Conversation Message
    • Execute Message SQL Query
    • Get Conversation Message
    • Get Genie Space
    • Get Query Results
    • Start Conversation
  • Job
    • Get
    • Get Run
    • Get Run Output
    • Run
  • Model Serving
    • Query Endpoint
  • Unity Catalog
    • Create Catalog
    • Create Function
    • Create Volume
    • Delete Catalog
    • Delete Function
    • Delete Volume
    • Get Catalog
    • Get Function
    • Get Table
    • Get Volume
    • List Catalogs
    • List Functions
    • List Tables
    • List Volumes
    • Update Catalog
  • Vector Search
    • Create Index
    • Get Index
    • List Indexes
    • Query Index

Job 작업#

Job 리소스를 사용하여 기존 잡의 실행(run)을 시작하고, 실행의 상태와 출력을 읽고, 잡의 정의를 읽을 수 있습니다. 모든 작업은 Databricks Jobs API 2.2를 호출합니다.

잡, 실행, 태스크#

Databricks는 잡과 잡의 실행, 그리고 실행과 실행의 태스크를 구분합니다.

  • **잡(job)**은 이름, 태스크, 클러스터, 일정을 포함하는 정의입니다. 잡 ID가 있습니다. Get과 Run은 잡을 대상으로 합니다.
  • **실행(run)**은 잡을 한 번 실행한 것입니다. 고유한 실행 ID가 있고 Databricks에 실행 페이지가 있습니다. Get Run과 Get Run Output은 실행을 대상으로 합니다. Run은 시작한 실행의 실행 ID를 반환합니다.
  • **태스크(task)**는 실행 내부의 한 단계입니다. 각 태스크에는 태스크 키와 고유한 태스크 실행 ID가 있습니다. Get Run Output은 실행의 모든 태스크를 읽고 태스크마다 항목 하나를 반환합니다.

잡 또는 실행 선택#

(Get과 Run의) Job 필드와 (Get Run과 Get Run Output의) Run 필드는 세 가지 모드를 제공합니다.

  • From list: 워크스페이스에서 잡을 선택하거나, 모든 잡의 최근 실행 중에서 실행을 선택합니다. 입력하여 필터링할 수 있습니다. 실행 목록에는 실행 이름(또는 Job <job-id>), 완료되지 않은 실행의 결과 또는 현재 상태, UTC 기준 시작 시각, 실행 ID가 표시됩니다.
  • By ID: 숫자 ID를 입력합니다. 노드는 정수가 아닌 값을 거부합니다.
  • By URL: Databricks의 페이지 URL을 붙여넣습니다. 노드는 잡에는 https://<your-workspace>/jobs/<job-id>를, 실행에는 https://<your-workspace>/jobs/<job-id>/runs/<run-id>를 허용합니다. 두 페이지의 해시 형식인 https://<your-workspace>/?o=<workspace-id>#job/<job-id>와 https://<your-workspace>/?o=<workspace-id>#job/<job-id>/run/<run-id>도 ?o=<workspace-id>의 유무와 관계없이 허용합니다.

Get#

Get은 Job 필드에 지정한 잡의 정의를 읽습니다. Databricks가 반환하는 그대로의 잡을 항목 하나로 반환하며, job_id, creator_user_name, run_as_user_name, created_time, settings를 포함하고 잡에 트리거가 있으면 trigger_state도 포함합니다. 노드는 잡 하나에서 태스크, 잡 클러스터, 환경 또는 파라미터를 최대 2,000개까지 읽습니다. 이를 초과하면 Job <job-id> has more settings entries than the node can read 오류와 함께 실패합니다.

Get Run#

Get Run은 Run 필드에 지정한 실행을 읽고, Databricks의 실행 객체에 다섯 개의 추가 필드를 더해 반환합니다.

필드 값
run_state 수명 주기 상태입니다(예: RUNNING, TERMINATED).
run_finished 실행이 최종 상태에 도달하면 true입니다.
run_result 종료 코드입니다(예: SUCCESS, SUCCESS_WITH_FAILURES, USER_CANCELED, RUN_EXECUTION_ERROR). 실행이 끝날 때까지는 null입니다. 전체 목록은 Databricks API 레퍼런스의 termination_details.code를 참고하세요.
run_succeeded run_result가 SUCCESS이면 true, 그 외 결과이면 false입니다. 실행이 끝날 때까지는 null입니다.
run_error_message 성공하지 못한 실행의 종료 메시지이며 500자에서 잘립니다. 그 외에는 null입니다.

중첩된 status 객체를 읽지 않고 결과에 따라 분기하려면 If 노드에서 이 필드를 사용하세요.

Get Run Output#

Get Run Output은 실행의 태스크가 생성한 결과를 읽습니다. 모든 태스크를 가져오려면 Run을 잡 실행으로 설정하세요. 태스크 실행 ID를 지정하면 해당 태스크의 항목 하나만 반환합니다. 노드는 실행의 태스크를 읽고, 각 태스크의 출력을 가져와, 태스크마다 항목 하나를 반환합니다.

필드 값
run_id 요청한 실행입니다.
job_id 실행이 속한 잡입니다.
task_key 잡 정의에 있는 태스크의 키입니다.
task_run_id 이 태스크의 실행 ID입니다.
truncated Databricks가 노트북 출력이나 로그를 잘랐으면 true입니다.
notebook_output, sql_output, dbt_output, run_job_output, clean_rooms_notebook_output, logs, logs_truncated, error, error_trace, info, metadata Databricks가 반환하는 그대로의 태스크 출력입니다. 표시되는 필드는 태스크 유형에 따라 다릅니다. notebook_output.result에는 노트북이 dbutils.notebook.exit()로 반환하는 값이 들어 있습니다. error는 태스크가 실패한 이유 또는 출력을 사용할 수 없는 이유를 설명합니다.

태스크가 없는 실행은 실행 자체에 대한 항목 하나를 반환합니다. Databricks가 태스크를 재시도한 경우 노드는 시도마다 항목 하나를 반환하며, 이때 task_key는 같고 task_run_id는 다릅니다. 완료되지 않은 실행도 읽을 수 있지만, 아직 실행 중인 태스크에는 출력이 없습니다. 노드는 실행 하나에서 태스크를 최대 2,000개까지 읽습니다. 이를 초과하면 Run <run-id> has more tasks than the node can read 오류와 함께 실패합니다.

Run#

Run은 Databricks의 Run now와 같이 잡의 실행을 시작합니다.

필드 설명
Job 실행할 잡입니다.
Job Parameters 이번 실행에 사용할 잡 수준 파라미터입니다. Add Parameter를 선택하고 각 파라미터의 Name과 Value를 입력합니다. 잡에 정의된 기본값을 덮어씁니다. 노드는 모든 값을 문자열로 전송합니다. Databricks는 잡에 정의되지 않은 파라미터도 받아서 실행에 기록합니다.
Wait for Completion 실행이 끝날 때까지 기다렸다가 최종 실행을 반환할지 여부입니다. 기본값은 꺼짐입니다.
Timeout (Options 내) 실행이 끝나기를 기다리는 최대 시간(초)입니다. 기본값은 600, 최솟값은 1입니다. Wait for Completion이 켜져 있을 때만 표시됩니다.

Wait for Completion이 꺼져 있으면 노드는 새 실행 ID를 즉시 반환하고, 잡은 Databricks에서 계속 실행됩니다.

{
	"run_id": 41847992357943,
	"number_in_job": 41847992357943
}

나중에 결과를 읽으려면 run_id를 Get Run 또는 Get Run Output에 전달하세요.

실행이 끝날 때까지 대기#

Wait for Completion이 켜져 있으면 노드는 실행이 최종 상태(TERMINATED, SKIPPED 또는 INTERNAL_ERROR)에 도달하거나 Timeout이 지날 때까지 5초마다 실행을 확인합니다. 실행(execution)을 취소하면 대기가 중단됩니다. 그 후 동작은 다음과 같습니다.

  • 실행이 성공하면 노드는 Databricks의 전체 실행 객체를 반환합니다.
  • SUCCESS_WITH_FAILURES와 USER_CANCELED를 포함해 실행이 그 외의 결과로 끝나면, 노드는 Job run <run-id> failed (<code>): <message>(Databricks가 메시지를 주지 않으면 코드를 다시 표시) 오류와 실행 페이지 URL과 함께 실패합니다.
  • 타임아웃이 지났는데도 실행이 계속 진행 중이면 노드는 Job run <run-id> did not finish within <n> seconds 오류와 함께 실패합니다. 오류에는 마지막 상태와 실행 페이지 URL이 표시됩니다. 노드는 Databricks에서 실행을 취소하지 않습니다. Timeout을 늘리거나, Wait for Completion을 끄고 나중에 Get Run으로 실행을 읽으세요.

일부 잡은 워크플로 실행이 기다려야 하는 시간보다 오래 걸립니다. 이런 경우에는 Wait for Completion을 끄고 실행을 시작하세요. 그리고 실행이 끝나면 Databricks Trigger 노드가 두 번째 워크플로를 시작하도록 하세요.

필요한 잡 권한#

자격 증명이 인증하는 ID에는 Workspace access 권한(entitlement)과 잡에 대한 권한이 필요합니다.

작업 잡에 대한 권한
Get, Get Run, Get Run Output CAN VIEW
Run CAN MANAGE RUN

CAN MANAGE와 IS OWNER는 두 권한을 모두 포함합니다. Databricks는 해당 ID가 CAN VIEW 권한을 가진 잡과 실행만 반환하므로, Job 및 Run 목록에도 그것들만 표시됩니다. Run으로 시작한 실행은 자격 증명이 아니라 잡의 run-as ID로 실행됩니다. Get은 이 ID를 run_as_user_name으로 반환합니다. 기본적으로 이는 잡 소유자입니다. 노드의 다른 리소스에 대해서는 필요한 Databricks 권한을 참고하세요.

권한이 없으면 Databricks는 PERMISSION_DENIED로 요청을 거부합니다. n8n은 Databricks 메시지를 오류로 표시합니다. 이 메시지에는 부족한 권한이 명시되어 있습니다. n8n은 오류 설명으로 다음 힌트 중 하나를 추가합니다.

Grant at least Can View on the job to the signed-in user or service principal in Databricks, then retry.
Grant at least Can Manage Run on the job to the signed-in user or service principal in Databricks, then retry.

예제: 잡 실행이 실패하면 알림 보내기#

이 워크플로는 실패한 실행의 태스크마다 Slack 메시지를 하나씩 게시합니다.

  1. Databricks Trigger 노드를 추가합니다. Resource를 Job으로 설정합니다. Job에서 잡을 선택합니다. Events는 Run Failed만 선택합니다. Simplify는 켜 둡니다. 트리거는 완전한 성공 이외의 결과로 끝나는 모든 실행(취소 및 건너뛴 실행 포함)마다 한 번씩 실행됩니다. 출력에는 run.id에 실행 ID, run.url에 실행 페이지 URL, result.code와 result.message에 종료 코드와 메시지가 들어 있습니다.

  2. Databricks 노드를 추가합니다. Resource를 Job으로, Operation을 Get Run Output으로 설정합니다. Run을 By ID로 설정하고 표현식 {{ $json.run.id }}를 입력합니다. 노드는 실패한 실행의 태스크마다 항목 하나를 반환합니다.

  3. Slack 노드를 추가합니다. Resource를 Message로, Operation을 Send로 설정합니다. 채널을 선택합니다. 메시지 텍스트는 다음과 같이 사용합니다.

    Databricks run {{ $('Databricks Trigger').item.json.run.name }} failed ({{ $('Databricks Trigger').item.json.result.code }}).
    Task {{ $json.task_key }}: {{ $json.error ?? 'no error text' }}
    {{ $('Databricks Trigger').item.json.run.url }}
    

두 Databricks 노드는 하나의 자격 증명을 공유할 수 있습니다. 이 자격 증명에는 잡에 대한 CAN VIEW 권한이 필요합니다. 사용자가 퇴사하거나 동의를 철회해도 트리거가 계속 실행되도록 서비스 주체(service principal)에 속한 자격 증명을 사용하세요.

태스크마다 메시지를 하나씩 보내는 대신 실행 전체에 대해 메시지 하나만 보내려면, Slack 노드 앞에 Aggregate 노드를 추가하거나 Slack 노드 설정에서 Execute Once를 켜세요.

템플릿 및 예제#

Databricks 노드 문서 통합 템플릿 찾아보기 또는 모든 템플릿 검색하기

관련 자료#

Databricks API에 대한 자세한 내용은 Databricks의 REST API 문서를 참고하세요.

AI 에이전트와 함께 Databricks를 사용하려면 Databricks Chat Model 노드와 Databricks Genie MCP 서버를 참고하세요.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

Databricks 노드 문서

n8n v2.42
원문 보기

요약

Databricks 노드를 사용하여 Databricks에서 작업을 자동화하고 Databricks를 다른 애플리케이션과 통합할 수 있습니다. 이 페이지에서는 Databricks 노드가 지원하는 작업(operation) 목록과 추가 리소스 링크를 확인할 수 있습니다.

Databricks 노드를 사용하여 Databricks에서 작업을 자동화하고 Databricks를 다른 애플리케이션과 통합할 수 있습니다. n8n은 잡 실행, SQL 쿼리 실행, Unity Catalog 객체 관리, ML 모델 서빙 엔드포인트 쿼리, 벡터 검색 인덱스 작업 등 다양한 Databricks 기능을 기본적으로 지원합니다.

이 페이지에서는 Databricks 노드가 지원하는 작업(operation) 목록과 추가 리소스 링크를 확인할 수 있습니다.

Note

자격 증명

인증 설정에 대한 안내는 Databricks 자격 증명을 참고하세요.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

작업#

  • Databricks SQL
    • Execute Query
  • File
    • Create Directory
    • Delete Directory
    • Delete File
    • Download File
    • Get File Metadata
    • List Directory
    • Upload File
  • Genie
    • Create Conversation Message
    • Execute Message SQL Query
    • Get Conversation Message
    • Get Genie Space
    • Get Query Results
    • Start Conversation
  • Job
    • Get
    • Get Run
    • Get Run Output
    • Run
  • Model Serving
    • Query Endpoint
  • Unity Catalog
    • Create Catalog
    • Create Function
    • Create Volume
    • Delete Catalog
    • Delete Function
    • Delete Volume
    • Get Catalog
    • Get Function
    • Get Table
    • Get Volume
    • List Catalogs
    • List Functions
    • List Tables
    • List Volumes
    • Update Catalog
  • Vector Search
    • Create Index
    • Get Index
    • List Indexes
    • Query Index

Job 작업#

Job 리소스를 사용하여 기존 잡의 실행(run)을 시작하고, 실행의 상태와 출력을 읽고, 잡의 정의를 읽을 수 있습니다. 모든 작업은 Databricks Jobs API 2.2를 호출합니다.

잡, 실행, 태스크#

Databricks는 잡과 잡의 실행, 그리고 실행과 실행의 태스크를 구분합니다.

  • **잡(job)**은 이름, 태스크, 클러스터, 일정을 포함하는 정의입니다. 잡 ID가 있습니다. Get과 Run은 잡을 대상으로 합니다.
  • **실행(run)**은 잡을 한 번 실행한 것입니다. 고유한 실행 ID가 있고 Databricks에 실행 페이지가 있습니다. Get Run과 Get Run Output은 실행을 대상으로 합니다. Run은 시작한 실행의 실행 ID를 반환합니다.
  • **태스크(task)**는 실행 내부의 한 단계입니다. 각 태스크에는 태스크 키와 고유한 태스크 실행 ID가 있습니다. Get Run Output은 실행의 모든 태스크를 읽고 태스크마다 항목 하나를 반환합니다.

잡 또는 실행 선택#

(Get과 Run의) Job 필드와 (Get Run과 Get Run Output의) Run 필드는 세 가지 모드를 제공합니다.

  • From list: 워크스페이스에서 잡을 선택하거나, 모든 잡의 최근 실행 중에서 실행을 선택합니다. 입력하여 필터링할 수 있습니다. 실행 목록에는 실행 이름(또는 Job <job-id>), 완료되지 않은 실행의 결과 또는 현재 상태, UTC 기준 시작 시각, 실행 ID가 표시됩니다.
  • By ID: 숫자 ID를 입력합니다. 노드는 정수가 아닌 값을 거부합니다.
  • By URL: Databricks의 페이지 URL을 붙여넣습니다. 노드는 잡에는 https://<your-workspace>/jobs/<job-id>를, 실행에는 https://<your-workspace>/jobs/<job-id>/runs/<run-id>를 허용합니다. 두 페이지의 해시 형식인 https://<your-workspace>/?o=<workspace-id>#job/<job-id>와 https://<your-workspace>/?o=<workspace-id>#job/<job-id>/run/<run-id>도 ?o=<workspace-id>의 유무와 관계없이 허용합니다.

Get#

Get은 Job 필드에 지정한 잡의 정의를 읽습니다. Databricks가 반환하는 그대로의 잡을 항목 하나로 반환하며, job_id, creator_user_name, run_as_user_name, created_time, settings를 포함하고 잡에 트리거가 있으면 trigger_state도 포함합니다. 노드는 잡 하나에서 태스크, 잡 클러스터, 환경 또는 파라미터를 최대 2,000개까지 읽습니다. 이를 초과하면 Job <job-id> has more settings entries than the node can read 오류와 함께 실패합니다.

Get Run#

Get Run은 Run 필드에 지정한 실행을 읽고, Databricks의 실행 객체에 다섯 개의 추가 필드를 더해 반환합니다.

필드 값
run_state 수명 주기 상태입니다(예: RUNNING, TERMINATED).
run_finished 실행이 최종 상태에 도달하면 true입니다.
run_result 종료 코드입니다(예: SUCCESS, SUCCESS_WITH_FAILURES, USER_CANCELED, RUN_EXECUTION_ERROR). 실행이 끝날 때까지는 null입니다. 전체 목록은 Databricks API 레퍼런스의 termination_details.code를 참고하세요.
run_succeeded run_result가 SUCCESS이면 true, 그 외 결과이면 false입니다. 실행이 끝날 때까지는 null입니다.
run_error_message 성공하지 못한 실행의 종료 메시지이며 500자에서 잘립니다. 그 외에는 null입니다.

중첩된 status 객체를 읽지 않고 결과에 따라 분기하려면 If 노드에서 이 필드를 사용하세요.

Get Run Output#

Get Run Output은 실행의 태스크가 생성한 결과를 읽습니다. 모든 태스크를 가져오려면 Run을 잡 실행으로 설정하세요. 태스크 실행 ID를 지정하면 해당 태스크의 항목 하나만 반환합니다. 노드는 실행의 태스크를 읽고, 각 태스크의 출력을 가져와, 태스크마다 항목 하나를 반환합니다.

필드 값
run_id 요청한 실행입니다.
job_id 실행이 속한 잡입니다.
task_key 잡 정의에 있는 태스크의 키입니다.
task_run_id 이 태스크의 실행 ID입니다.
truncated Databricks가 노트북 출력이나 로그를 잘랐으면 true입니다.
notebook_output, sql_output, dbt_output, run_job_output, clean_rooms_notebook_output, logs, logs_truncated, error, error_trace, info, metadata Databricks가 반환하는 그대로의 태스크 출력입니다. 표시되는 필드는 태스크 유형에 따라 다릅니다. notebook_output.result에는 노트북이 dbutils.notebook.exit()로 반환하는 값이 들어 있습니다. error는 태스크가 실패한 이유 또는 출력을 사용할 수 없는 이유를 설명합니다.

태스크가 없는 실행은 실행 자체에 대한 항목 하나를 반환합니다. Databricks가 태스크를 재시도한 경우 노드는 시도마다 항목 하나를 반환하며, 이때 task_key는 같고 task_run_id는 다릅니다. 완료되지 않은 실행도 읽을 수 있지만, 아직 실행 중인 태스크에는 출력이 없습니다. 노드는 실행 하나에서 태스크를 최대 2,000개까지 읽습니다. 이를 초과하면 Run <run-id> has more tasks than the node can read 오류와 함께 실패합니다.

Run#

Run은 Databricks의 Run now와 같이 잡의 실행을 시작합니다.

필드 설명
Job 실행할 잡입니다.
Job Parameters 이번 실행에 사용할 잡 수준 파라미터입니다. Add Parameter를 선택하고 각 파라미터의 Name과 Value를 입력합니다. 잡에 정의된 기본값을 덮어씁니다. 노드는 모든 값을 문자열로 전송합니다. Databricks는 잡에 정의되지 않은 파라미터도 받아서 실행에 기록합니다.
Wait for Completion 실행이 끝날 때까지 기다렸다가 최종 실행을 반환할지 여부입니다. 기본값은 꺼짐입니다.
Timeout (Options 내) 실행이 끝나기를 기다리는 최대 시간(초)입니다. 기본값은 600, 최솟값은 1입니다. Wait for Completion이 켜져 있을 때만 표시됩니다.

Wait for Completion이 꺼져 있으면 노드는 새 실행 ID를 즉시 반환하고, 잡은 Databricks에서 계속 실행됩니다.

{
	"run_id": 41847992357943,
	"number_in_job": 41847992357943
}

나중에 결과를 읽으려면 run_id를 Get Run 또는 Get Run Output에 전달하세요.

실행이 끝날 때까지 대기#

Wait for Completion이 켜져 있으면 노드는 실행이 최종 상태(TERMINATED, SKIPPED 또는 INTERNAL_ERROR)에 도달하거나 Timeout이 지날 때까지 5초마다 실행을 확인합니다. 실행(execution)을 취소하면 대기가 중단됩니다. 그 후 동작은 다음과 같습니다.

  • 실행이 성공하면 노드는 Databricks의 전체 실행 객체를 반환합니다.
  • SUCCESS_WITH_FAILURES와 USER_CANCELED를 포함해 실행이 그 외의 결과로 끝나면, 노드는 Job run <run-id> failed (<code>): <message>(Databricks가 메시지를 주지 않으면 코드를 다시 표시) 오류와 실행 페이지 URL과 함께 실패합니다.
  • 타임아웃이 지났는데도 실행이 계속 진행 중이면 노드는 Job run <run-id> did not finish within <n> seconds 오류와 함께 실패합니다. 오류에는 마지막 상태와 실행 페이지 URL이 표시됩니다. 노드는 Databricks에서 실행을 취소하지 않습니다. Timeout을 늘리거나, Wait for Completion을 끄고 나중에 Get Run으로 실행을 읽으세요.

일부 잡은 워크플로 실행이 기다려야 하는 시간보다 오래 걸립니다. 이런 경우에는 Wait for Completion을 끄고 실행을 시작하세요. 그리고 실행이 끝나면 Databricks Trigger 노드가 두 번째 워크플로를 시작하도록 하세요.

필요한 잡 권한#

자격 증명이 인증하는 ID에는 Workspace access 권한(entitlement)과 잡에 대한 권한이 필요합니다.

작업 잡에 대한 권한
Get, Get Run, Get Run Output CAN VIEW
Run CAN MANAGE RUN

CAN MANAGE와 IS OWNER는 두 권한을 모두 포함합니다. Databricks는 해당 ID가 CAN VIEW 권한을 가진 잡과 실행만 반환하므로, Job 및 Run 목록에도 그것들만 표시됩니다. Run으로 시작한 실행은 자격 증명이 아니라 잡의 run-as ID로 실행됩니다. Get은 이 ID를 run_as_user_name으로 반환합니다. 기본적으로 이는 잡 소유자입니다. 노드의 다른 리소스에 대해서는 필요한 Databricks 권한을 참고하세요.

권한이 없으면 Databricks는 PERMISSION_DENIED로 요청을 거부합니다. n8n은 Databricks 메시지를 오류로 표시합니다. 이 메시지에는 부족한 권한이 명시되어 있습니다. n8n은 오류 설명으로 다음 힌트 중 하나를 추가합니다.

Grant at least Can View on the job to the signed-in user or service principal in Databricks, then retry.
Grant at least Can Manage Run on the job to the signed-in user or service principal in Databricks, then retry.

예제: 잡 실행이 실패하면 알림 보내기#

이 워크플로는 실패한 실행의 태스크마다 Slack 메시지를 하나씩 게시합니다.

  1. Databricks Trigger 노드를 추가합니다. Resource를 Job으로 설정합니다. Job에서 잡을 선택합니다. Events는 Run Failed만 선택합니다. Simplify는 켜 둡니다. 트리거는 완전한 성공 이외의 결과로 끝나는 모든 실행(취소 및 건너뛴 실행 포함)마다 한 번씩 실행됩니다. 출력에는 run.id에 실행 ID, run.url에 실행 페이지 URL, result.code와 result.message에 종료 코드와 메시지가 들어 있습니다.

  2. Databricks 노드를 추가합니다. Resource를 Job으로, Operation을 Get Run Output으로 설정합니다. Run을 By ID로 설정하고 표현식 {{ $json.run.id }}를 입력합니다. 노드는 실패한 실행의 태스크마다 항목 하나를 반환합니다.

  3. Slack 노드를 추가합니다. Resource를 Message로, Operation을 Send로 설정합니다. 채널을 선택합니다. 메시지 텍스트는 다음과 같이 사용합니다.

    Databricks run {{ $('Databricks Trigger').item.json.run.name }} failed ({{ $('Databricks Trigger').item.json.result.code }}).
    Task {{ $json.task_key }}: {{ $json.error ?? 'no error text' }}
    {{ $('Databricks Trigger').item.json.run.url }}
    

두 Databricks 노드는 하나의 자격 증명을 공유할 수 있습니다. 이 자격 증명에는 잡에 대한 CAN VIEW 권한이 필요합니다. 사용자가 퇴사하거나 동의를 철회해도 트리거가 계속 실행되도록 서비스 주체(service principal)에 속한 자격 증명을 사용하세요.

태스크마다 메시지를 하나씩 보내는 대신 실행 전체에 대해 메시지 하나만 보내려면, Slack 노드 앞에 Aggregate 노드를 추가하거나 Slack 노드 설정에서 Execute Once를 켜세요.

템플릿 및 예제#

Databricks 노드 문서 통합 템플릿 찾아보기 또는 모든 템플릿 검색하기

관련 자료#

Databricks API에 대한 자세한 내용은 Databricks의 REST API 문서를 참고하세요.

AI 에이전트와 함께 Databricks를 사용하려면 Databricks Chat Model 노드와 Databricks Genie MCP 서버를 참고하세요.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.