Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Добавьте определяемые пользователем функции (UDFS), зарегистрированные в каталоге Unity в качестве ресурсов Databricks Apps, чтобы разрешить приложению выполнять зарегистрированные функции SQL и Python. Пользовательские функции обеспечивают многократно используемую бизнес-логику, преобразования данных и пользовательские операции, которые можно использовать совместно в вашей организации с централизованным управлением.
Требования к привилегиям
Чтобы запустить UDF, служебный субъект приложения должен иметь USE CATALOG привилегии в родительском каталоге, USE SCHEMA привилегии в родительской схеме и EXECUTE привилегии в функции. При добавлении ресурса UDF Azure Databricks автоматически предоставляет эти привилегии субъекту-службе приложения.
Для успешного предоставления этой привилегии одно из следующих условий должно выполняться для каждой привилегии:
-
Для
USE CATALOG: у всех пользователей учетной записи естьUSE CATALOGпривилегия на каталоге или у вас естьMANAGEпривилегия на каталоге. -
Для
USE SCHEMA: либо у всех пользователей учетной записи есть привилегияUSE SCHEMAна схему, либо у вас есть привилегияMANAGEна схему. -
Для
EXECUTE: у всех пользователей учетной записи есть привилегияEXECUTEна функцию или у вас есть привилегияMANAGEна функцию.
Ознакомьтесь с привилегиями каталога Unity и защищаемыми объектами.
Добавить ресурс определяемой пользователем функции (UDF)
Перед добавлением UDF в качестве ресурса просмотрите предварительные требования к ресурсу приложения.
- При создании или изменении приложения перейдите к шагу "Настройка ".
- В разделе "Ресурсы приложения" нажмите кнопку +Добавить ресурс.
- Выберите функцию UC в качестве типа ресурса.
- Выберите UDF из доступных функций в рабочей области. Функция уже должна быть зарегистрирована в каталоге Unity.
- Выберите уровень разрешений для приложения:
-
Может выполняться: Предоставляет приложению разрешение на выполнение UDF с указанными параметрами. Соответствует привилегии
EXECUTE.
-
Может выполняться: Предоставляет приложению разрешение на выполнение UDF с указанными параметрами. Соответствует привилегии
- (Необязательно) Укажите пользовательский ключ ресурса, который является ссылкой на UDF в конфигурации приложения. Ключ по умолчанию —
function.
Переменные среды
При развертывании приложения с ресурсом UDF Azure Databricks предоставляет полное трехуровневое имя с помощью переменных среды, на которые можно ссылаться с помощью valueFrom поля.
Пример конфигурации:
env:
- name: UC_FUNCTION_NAME
valueFrom: function # Use your custom resource key if different
Использование функции в приложении:
import os
from databricks.sdk import WorkspaceClient
# Access the function name
function_name = os.getenv("UC_FUNCTION_NAME")
# Initialize workspace client
w = WorkspaceClient()
# Execute the function via SQL
result = w.statement_execution.execute_statement(
warehouse_id="your_warehouse_id",
statement=f"SELECT {function_name}('parameter_value')"
)
# Process the result
print(f"Function result: {result}")
Дополнительные сведения см. в разделе "Использование переменных среды для доступа к ресурсам".
Удаление ресурса определяемой пользователем функции (UDF)
При удалении ресурса UDF из приложения служебный принципал теряет доступ к функции. Сам UDF остается неизменным и по-прежнему доступен для других пользователей и приложений, имеющих соответствующие разрешения.
Лучшие практики
При работе с ресурсами UDF следует учитывать следующее:
- Убедитесь, что UDF хорошо документированы с чёткими описаниями параметров и возвращаемыми типами.
- Обработка ошибок UDF в коде приложения, включая проверку параметров и обработку исключений.
- Проверьте поведение UDF в контексте приложения перед развертыванием, чтобы проверить ожидаемые результаты.
- При планировании разрешений приложения рассмотрите зависимости UDF от базовых таблиц или источников данных.