Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Adicione funções definidas pelo utilizador (UDFs) registadas no Unity Catalog como recursos Databricks Apps para permitir que a sua aplicação execute funções SQL e Python registadas. Os UDFs fornecem lógica de negócio reutilizável, transformações de dados e operações personalizadas que podem ser partilhadas em toda a sua organização com governação centralizada.
Requisitos de privilégio
Para executar um UDF, o principal de serviço da aplicação deve ter o privilégio USE CATALOG no catálogo pai, o privilégio USE SCHEMA no esquema pai, e o privilégio EXECUTE na função. Quando adiciona o recurso UDF, o Azure Databricks concede automaticamente estes privilégios ao principal de serviço da aplicação.
Para que essa concessão automática seja bem-sucedida, uma das seguintes opções deve ser verdadeira para cada privilégio:
-
Para
USE CATALOG: 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: Todos os usuários da conta têm oUSE SCHEMAprivilégio no esquema ou você tem oMANAGEprivilégio no esquema. -
Para
EXECUTE: Ou todos os utilizadores da conta têm privilégioEXECUTEsobre a função, ou você tem oMANAGEprivilégio sobre a função.
Consulte privilégios do Catálogo Unity e objetos securitizáveis.
Adicionar um recurso de função definida pelo utilizador (UDF)
Antes de adicionares um UDF como recurso, revê os pré-requisitos de recursos da aplicação.
- Quando criar ou editar uma aplicação, navegue até ao passo Configurar .
- Na secção de recursos da App , clique em + Adicionar recurso.
- Selecione a função UC como tipo de recurso.
- Escolha um UDF entre as funções disponíveis no seu espaço de trabalho. A função deve já estar registada no Unity Catalog.
- Selecione o nível de permissão para seu aplicativo:
-
Pode executar: Concede à aplicação permissão para executar o UDF com os parâmetros fornecidos. Corresponde ao privilégio
EXECUTE.
-
Pode executar: Concede à aplicação permissão para executar o UDF com os parâmetros fornecidos. Corresponde ao privilégio
- (Opcional) Especifica uma chave de recurso personalizada, que é como referencias o UDF na configuração da tua aplicação. A chave padrão é
function.
Variáveis de ambiente
Quando implementas uma aplicação com um recurso UDF, o Azure Databricks expõe o nome completo de três níveis através de variáveis de ambiente que podes consultar usando o valueFrom campo.
Exemplo de configuração:
env:
- name: UC_FUNCTION_NAME
valueFrom: function # Use your custom resource key if different
Usando a função na sua aplicação:
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 função definida pelo utilizador (UDF)
Quando remove um recurso UDF de uma aplicação, o principal de serviço da aplicação perde o acesso à função. O próprio UDF mantém-se inalterado e continua disponível para outros utilizadores e aplicações que tenham permissões apropriadas.
Melhores práticas
Considere o seguinte ao trabalhar com recursos da UDF:
- Certifique-se de que os UDFs estão bem documentados, com descrições claras dos parâmetros e tipos de retorno.
- Trate os erros UDF de forma elegante no código da sua aplicação, incluindo validação de parâmetros e gestão de exceções.
- Teste o comportamento do UDF no contexto da aplicação antes da implementação para verificar os resultados esperados.
- Considere as dependências do UDF em tabelas ou fontes de dados subjacentes ao planear permissões de aplicações.