다음을 통해 공유


Databricks 앱에 Unity 카탈로그 연결 리소스 추가

외부 서비스 및 데이터 원본에 안전하게 액세스할 수 있도록 Unity 카탈로그 연결을 Databricks Apps 리소스로 추가합니다. Unity 카탈로그 연결은 자격 증명 및 인증 세부 정보를 관리하므로 애플리케이션 코드에서 자격 증명을 하드 코딩할 필요가 없습니다.

Unity 카탈로그 연결 리소스 추가

Unity 카탈로그 연결을 리소스로 추가하기 전에 앱 리소스 필수 구성 요소를 검토합니다.

  1. 앱을 만들거나 편집할 때 구성 단계로 이동합니다.
  2. 앱 리소스 섹션에서 + 리소스 추가를 클릭합니다.
  3. 리소스 유형으로 UC 연결을 선택합니다.
  4. 작업 영역에서 사용 가능한 연결 목록에서 Unity 카탈로그 연결을 선택합니다.
  5. 앱에 대한 권한 수준을 선택합니다.
    • 연결 사용: 외부 서비스에 액세스하기 위해 연결을 사용할 수 있는 권한을 앱에 부여합니다. USE CONNECTION 권한에 해당합니다.
  6. (선택 사항) 앱 구성에서 연결을 참조하는 방법인 사용자 지정 리소스 키를 지정합니다. 기본 키는 .입니다 connection.

Unity 카탈로그 연결 리소스를 추가하는 경우:

  • Azure Databricks는 앱의 서비스 주체 에게 USE CONNECTION 선택한 연결에 대한 권한을 부여합니다.
  • 앱은 자격 증명을 직접 관리하지 않고 외부 서비스에 액세스할 수 있습니다.
  • 연결 자격 증명은 Unity 카탈로그에서 안전하게 관리되며 애플리케이션 코드에 노출되지 않습니다.

환경 변수

Unity 카탈로그 연결 리소스를 사용하여 앱을 배포하는 경우 Azure Databricks는 필드를 사용하여 valueFrom 참조할 수 있는 환경 변수를 통해 연결 이름을 노출합니다.

구성 예제:

env:
  - name: UC_CONNECTION_NAME
    valueFrom: connection # Use your custom resource key if different

애플리케이션에서 연결 사용:

import os
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ExternalFunctionRequestHttpMethod

# Access the connection name
connection_name = os.getenv("UC_CONNECTION_NAME")

# Initialize workspace client
w = WorkspaceClient()

# Make HTTP request through the connection
response = w.serving_endpoints.http_request(
    conn=connection_name,
    method=ExternalFunctionRequestHttpMethod.POST,
    path="/api/v1/resource",
    json={"key": "value"},
    headers={"extra_header_key": "extra_header_value"},
)

# Process the response
print(response)

자세한 내용은 환경 변수를 사용하여 리소스에 액세스하는 방법을 참조하세요.

Unity 카탈로그 연결 리소스 제거

앱에서 Unity 카탈로그 연결 리소스를 제거하면 앱의 서비스 주체가 연결에 대한 액세스 권한을 잃게 됩니다. 연결 자체는 변경되지 않고 적절한 권한이 있는 다른 사용자 및 애플리케이션에서 계속 사용할 수 있습니다.

모범 사례

Unity 카탈로그 연결 리소스를 사용하는 경우 다음을 고려합니다.

  • 연결 오류 및 네트워크 문제에 대한 오류 처리 및 다시 시도 논리를 구현합니다.
  • 특히 지역 간 또는 클라우드 간 요청에 대한 API 응답 시간 및 연결 대기 시간을 모니터링합니다.
  • 특히 대규모 페이로드 또는 대용량 API 호출에 대해 외부 서비스에 요청할 때 데이터 송신 비용을 고려합니다.
  • 보안 정책에 따라 연결 자격 증명을 정기적으로 검토하고 회전합니다.
  • API 응답의 유효성을 검사하고 외부 서비스 호출에 적절한 시간 제한 값을 구현합니다.