Partilhar via


Adicionar um recurso de ligação ao Unity Catalog a uma aplicação Databricks

Adicionar ligações ao Unity Catalog como recursos nas Databricks Apps para possibilitar acesso seguro a serviços e fontes externas de dados. As ligações do Unity Catalog gerem credenciais e detalhes de autenticação, por isso não precisa de codificar as credenciais diretamente no código da sua aplicação.

Adicionar um recurso de ligação ao Unity Catalog

Antes de adicionar uma ligação ao Unity Catalog como recurso, reveja os pré-requisitos de recursos da aplicação.

  1. Quando criar ou editar uma aplicação, navegue até ao passo Configurar .
  2. Na secção de recursos da App , clique em + Adicionar recurso.
  3. Selecione a ligação UC como tipo de recurso.
  4. Escolha uma ligação ao Unity Catalog da lista de ligações disponíveis no seu espaço de trabalho.
  5. Selecione o nível de permissão para seu aplicativo:
    • Usar a Ligação: Permite à aplicação usar a ligação para aceder a serviços externos. Corresponde ao privilégio USE CONNECTION.
  6. (Opcional) Especifica uma chave de recurso personalizada, que é como referencias a ligação na configuração da tua aplicação. A chave padrão é connection.

Quando adiciona um recurso de ligação ao Unity Catalog:

  • O Azure Databricks concede ao principal de serviço da sua aplicação o USE CONNECTION privilégio sobre a ligação selecionada.
  • A aplicação pode aceder a serviços externos sem gerir diretamente as credenciais.
  • As credenciais de ligação são geridas de forma segura pelo Unity Catalog e não estão expostas ao código da sua aplicação.

Variáveis de ambiente

Quando implementas uma aplicação com um recurso de ligação do Unity Catalog, o Azure Databricks expõe o nome da ligação através de variáveis de ambiente que podes consultar usando o valueFrom campo.

Exemplo de configuração:

env:
  - name: UC_CONNECTION_NAME
    valueFrom: connection # Use your custom resource key if different

Usar a ligação na sua aplicação:

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)

Para obter mais informações, consulte Usar variáveis de ambiente para acessar recursos.

Remover um recurso de ligação ao Unity Catalog

Quando remove um recurso de ligação do Unity Catalog de uma aplicação, o principal de serviço da aplicação perde o acesso à ligação. A ligação em si mantém-se inalterada e continua disponível para outros utilizadores e aplicações que tenham permissões adequadas.

Melhores práticas

Considere o seguinte ao trabalhar com recursos de ligação do Unity Catalog:

  • Implementar lógica de gestão de erros e de retentativa para falhas de ligação e problemas de rede.
  • Monitorize os tempos de resposta da API e a latência da ligação, especialmente para pedidos entre região ou entre cloud.
  • Considere os custos de saída de dados ao fazer pedidos a serviços externos, particularmente para cargas úteis grandes ou chamadas API de alto volume.
  • Revise e rode regularmente as credenciais de ligação de acordo com as suas políticas de segurança.
  • Valide as respostas da API e implemente valores de timeout apropriados para chamadas de serviço externo.