Enviar solicitações HTTP para sistemas externos

Prévia

Esse recurso está na Visualização privada. Para experimentar, fale com o seu contato no Databricks.

Este artigo descreve como criar uma conexão HTTP para que o senhor possa enviar solicitações HTTP a serviços externos para criar ferramentas externas para agentes. Para saber mais sobre o Mosaic AI Agent Framework e a chamada de ferramentas, consulte Criar um agente AI .

Antes de começar

Requisitos de origem:

  • Um token de portador do sistema externo.

Requisitos do workspace:

  • Espaço de trabalho preparado para o Catálogo do Unity.

Requisitos de computação:

  • Databricks compute deve usar o site Databricks Runtime 15.4 ou acima e o modo de acesso compartilhado ou de usuário único.

  • SQL warehouses devem ser Pro ou Serverless.

Permissões necessárias:

  • Para criar uma conexão, é preciso ser administrador de metastore ou usuário com o privilégio CREATE CONNECTION no metastore do Unity Catalog anexado ao espaço de trabalho.

Outros requisitos de permissão são definidos em cada seção baseada em tarefa a seguir.

Criar uma conexão

A conexão especifica um caminho e as credenciais para acessar um sistema de banco de dados externo. Para criar uma conexão, você pode usar o Catalog Explorer ou o comando CREATE CONNECTION do SQL em um Notebook do Databricks ou no editor de consultas SQL do Databricks.

Observação

O senhor também pode usar a API REST da Databricks ou a CLI da Databricks para criar uma conexão. Veja POST /api/2.1/unity-catalog/connections e Unity Catalog comando.

Permissões necessárias: Administrador do Metastore ou usuário com o privilégio CREATE CONNECTION.

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. No painel esquerdo, expanda o menu External Data e selecione Connections.

  3. Clique em Criar conexão.

  4. Insira um nome de conexão fácil de lembrar.

  5. Selecione um tipo de conexão HTTP.

  6. Insira as seguintes propriedades de conexão para a conexão HTTP:

    • Anfitrião: Por exemplo, https://databricks.com

    • Porto: Por exemplo, 443

    • Caminho base: Por exemplo, /api/

    • Tokens de portador: Por exemplo, bearer-token

  7. (Opcional) Adicione um comentário.

  8. Clique em Criar.

Execute o seguinte comando em um Notebook ou no editor de consultas Databricks SQL:

CREATE CONNECTION <connection-name> TYPE HTTP
OPTIONS (
  host '<hostname>',
  port '<port>',
  base_path '<base-path>',
  bearer_token '<bearer-token>'
);

Databricks recomenda que o senhor use segredos em vez de texto simples strings para valores confidenciais, como credenciais. Por exemplo:

CREATE CONNECTION <connection-name> TYPE HTTP
OPTIONS (
  host '<hostname>',
  port '<port>',
  base_path '<base-path>',
  bearer_token secret ('<secret-scope>','<secret-key-password>')
)

Para obter informações sobre como configurar segredos, consulte Gerenciamento de segredos.

Enviar uma solicitação HTTP para o sistema externo

Agora o senhor pode enviar solicitações HTTP para a fonte de dados externa usando a função integrada http_request.

Permissões necessárias: USE CONNECTION no objeto de conexão.

Execute o seguinte comando SQL em um notebook ou no editor Databricks SQL. Os itens entre colchetes são opcionais. Substitua os valores temporários:

  • <connection-name>: o objeto de conexão que especifica o host, a porta, o base_path e as credenciais de acesso.

  • <http-method>: o método de solicitação HTTP usado para fazer a chamada. Por exemplo: GET, POST, PUT, DELETE

  • <path>: O caminho a ser concatenado após o base_path para invocar o recurso de serviço.

  • json: O corpo JSON a ser enviado com a solicitação.

  • headers: Um mapa para especificar os cabeçalhos da solicitação.

SELECT http_request(
  conn => <connection-name>,
  method => <http-method>,
  path => <path>,
  json => to_json(named_struct(
    'text', text
  )),
  headers => map(
    'Accept', "application/vnd.github+json"
  )
);

Limitações

  • A autenticação de tokens de portador é o único método de autenticação compatível.