Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Adicione UDFs (funções definidas pelo usuário) registradas no Catálogo do Unity como recursos do Databricks Apps para permitir que seu aplicativo execute funções registradas de SQL e Python. As UDFs fornecem lógica de negócios reutilizável, transformações de dados e operações personalizadas que podem ser compartilhadas em toda a sua organização com governança centralizada.
Requisitos de privilégio
Para executar uma UDF, o principal de serviço do aplicativo deve ter o USE CATALOG privilégio no catálogo pai, o USE SCHEMA privilégio no esquema pai e o EXECUTE privilégio na função. Quando você adiciona o recurso UDF, o Azure Databricks concede automaticamente esses privilégios à entidade de serviço do aplicativo.
Para que essa concessão automática seja bem-sucedida, um dos seguintes deve ser verdadeiro para cada privilégio:
-
Para
USE CATALOG: ou todos os usuários da conta têm oUSE CATALOGprivilégio no catálogo, ou você tem oMANAGEprivilégio no catálogo. -
Para
USE SCHEMA: Ou todos os usuários da conta possuem o privilégioUSE SCHEMAno esquema, ou você possui o privilégioMANAGEno esquema. -
Para
EXECUTE: ou todos os usuários da conta têm o privilégioEXECUTEna função, ou você tem o privilégioMANAGEna função.
Confira Privilégios e objetos protegíveis do Catálogo do Unity.
Adicionar um recurso de UDF (função definida pelo usuário)
Antes de adicionar um UDF como um recurso, examine os pré-requisitos do recurso de aplicativo.
- Ao criar ou editar um aplicativo, navegue até a etapa Configurar.
- Na seção Recursos do aplicativo, clique em + Adicionar recurso.
- Selecione a função UC como o tipo de recurso.
- Escolha uma Função Definida pelo Usuário (UDF) nas funções disponíveis em seu ambiente de trabalho. A função já deve estar registrada no Catálogo do Unity.
- Selecione o nível de permissão do aplicativo:
-
Pode executar: Concede a permissão do aplicativo para executar a UDF com os parâmetros fornecidos. Corresponde ao privilégio
EXECUTE.
-
Pode executar: Concede a permissão do aplicativo para executar a UDF com os parâmetros fornecidos. Corresponde ao privilégio
- (Opcional) Especifique uma chave de recurso personalizada, que é como você faz referência à UDF na configuração do aplicativo. A chave padrão é
function.
Variáveis de ambiente
Quando você implanta um aplicativo com um recurso UDF, o Azure Databricks expõe o nome completo de três níveis por meio de variáveis de ambiente que você pode referenciar usando o valueFrom campo.
Configuração de exemplo:
env:
- name: UC_FUNCTION_NAME
valueFrom: function # Use your custom resource key if different
Usando a função em seu aplicativo:
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 obter mais informações, consulte Usar variáveis de ambiente para acessar recursos.
Remover um recurso de UDF (função definida pelo usuário)
Quando você remove um recurso UDF de um aplicativo, o principal de serviço do aplicativo perde o acesso à função. A UDF em si permanece inalterada e continua disponível para outros usuários e aplicativos que têm permissões apropriadas.
Práticas recomendadas
Considere o seguinte quando você trabalha com recursos da UDF:
- Verifique se as UDFs estão bem documentadas com descrições de parâmetro claras e tipos de retorno.
- Manipule erros de UDF de forma elegante no código do aplicativo, incluindo validação de parâmetros e tratamento de exceção.
- Teste o comportamento da UDF no contexto do aplicativo antes da implantação para verificar os resultados esperados.
- Considere as dependências da UDF em tabelas ou fontes de dados subjacentes ao planejar permissões de aplicativo.