共用方式為


在 Databricks 應用程式中新增 Unity 目錄連接資源

Unity 目錄連線 加入為 Databricks Apps 資源,以實現對外部服務與資料來源的安全存取。 Unity Catalog 連線會管理憑證和認證細節,所以你不需要在應用程式碼裡硬編碼憑證。

新增 Unity 目錄連接資源

在新增 Unity Catalog 連線作為資源之前,先先檢視 應用程式資源的前置條件

  1. 當你建立或編輯應用程式時,請切換到 「配置 」步驟。
  2. 應用程式資源 區塊,點擊 + 新增資源
  3. 選擇 UC 連線 作為資源類型。
  4. 從你工作區中可用的連線清單中選擇一個 Unity 目錄連線。
  5. 選取應用程式的權限層級:
    • 使用連結: 授權應用程式使用該連線存取外部服務。 這與 USE CONNECTION 權限相符。
  6. (可選)指定一個自訂的資源金鑰,這就是你在應用程式設定中參考連線的方式。 預設索引鍵是 connection

當你新增 Unity 目錄連線資源時:

  • Azure Databricks 會授予你應用程式的服務主體USE CONNECTION在所選連線上的權限。
  • 該應用程式能存取外部服務,無需直接管理憑證。
  • 連線憑證由 Unity Catalog 安全管理,不會暴露在你的應用程式程式碼中。

環境變數

當你部署使用 Unity Catalog 連線資源的應用程式時,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 回應,並為外部服務呼叫實施適當的逾時值。