Поделиться через


Добавление ресурса подключения каталога Unity в приложение Databricks

Добавьте Unity Catalog connections как ресурсы 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 и реализуйте соответствующие значения времени ожидания для внешних вызовов служб.