Compartir a través de


Adición de un recurso de función definida por el usuario (UDF) a una aplicación de Databricks

Agregue funciones definidas por el usuario (UDF) registradas en el catálogo de Unity como recursos de Aplicaciones de Databricks para permitir que la aplicación ejecute funciones de PYTHON y SQL registradas. Las UDF proporcionan lógica empresarial reutilizable, transformaciones de datos y operaciones personalizadas que se pueden compartir en toda la organización con gobernanza centralizada.

Requisitos de privilegios

Para ejecutar una UDF, la entidad de servicio de la aplicación debe tener el USE CATALOG privilegio en el catálogo superior, el USE SCHEMA privilegio en el esquema superior y el EXECUTE privilegio en la función. Al agregar el recurso UDF, Azure Databricks concede automáticamente estos privilegios a la entidad de servicio de la aplicación.

Para que esta concesión automática se realice correctamente, uno de los siguientes valores debe ser verdadero para cada privilegio.

  • Para USE CATALOG: todos los usuarios de la cuenta tienen el USE CATALOG privilegio en el catálogo, o todos tienen el MANAGE privilegio en el catálogo.
  • Para USE SCHEMA: o todos los usuarios de la cuenta tienen el USE SCHEMA privilegio en el esquema, o usted tiene el MANAGE privilegio en el esquema.
  • Para EXECUTE: Ya sea que todos los usuarios de la cuenta tengan el EXECUTE privilegio en la función o que usted tenga el MANAGE privilegio en la función.

Consulte Privilegios de Unity Catalog y objetos protegibles.

Adición de un recurso de función definida por el usuario (UDF)

Antes de agregar una UDF como recurso, revise los requisitos previos del recurso de la aplicación.

  1. Al crear o editar una aplicación, vaya al paso Configurar .
  2. En la sección Recursos de la aplicación, haga clic en + Agregar recurso.
  3. Seleccione FUNCIÓN UC como tipo de recurso.
  4. Elija una función UDF de las disponibles en su espacio de trabajo. La función ya debe estar registrada en el catálogo de Unity.
  5. Seleccione el nivel de permiso de la aplicación:
    • Puede ejecutar: Concede al usuario permiso para ejecutar la UDF con los parámetros proporcionados. Corresponde al EXECUTE privilegio.
  6. (Opcional) Especifique una clave de recurso personalizada, que es la forma en que hace referencia a la UDF en la configuración de la aplicación. La clave predeterminada es function.

Variables de entorno

Al implementar una aplicación con un recurso de UDF, Azure Databricks expone el nombre de tres niveles completo a través de variables de entorno a las que se puede hacer referencia mediante el campo valueFrom.

Configuración de ejemplo:

env:
  - name: UC_FUNCTION_NAME
    valueFrom: function # Use your custom resource key if different

Uso de la función en la aplicación:

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}")

Para obtener más información, consulte Uso de variables de entorno para acceder a los recursos.

Eliminación de un recurso de función definida por el usuario (UDF)

Al eliminar un recurso de función definida por el usuario (UDF) de una aplicación, el principal de servicio de la aplicación pierde el acceso a esa función. La propia UDF permanece sin cambios y sigue estando disponible para otros usuarios y aplicaciones que tienen los permisos adecuados.

procedimientos recomendados

Tenga en cuenta lo siguiente al trabajar con recursos de UDF:

  • Asegúrese de que las UDF están bien documentadas con descripciones de parámetros claras y tipos de valor devuelto.
  • Controle los errores de UDF correctamente en el código de la aplicación, incluida la validación de parámetros y el control de excepciones.
  • Pruebe el comportamiento de UDF en el contexto de la aplicación antes de la implementación para comprobar los resultados esperados.
  • Considere las dependencias de UDF en tablas o orígenes de datos subyacentes al planificar los permisos de las aplicaciones.