Ferramentas funcionais do Unity Catalog com ligação HTTP

Observação

Para ligar agentes a serviços externos, o Azure Databricks recomenda MCP Services ou o proxy de ligações do Unity Catalog. As ferramentas funcionais UC que envolvem http_request continuam suportadas, mas já não são a abordagem recomendada.

Pode criar uma função do Unity Catalog que encapsula http_request() para efetuar chamadas a serviços externos. Esta abordagem é útil para definições de ferramentas baseadas em SQL.

Requisitos

Uma ligação HTTP do Unity Catalog para o serviço externo. Referencia-o pelo nome no http_request() parâmetro da conn função.

Criar uma ferramenta funcional com http_request()

O exemplo seguinte cria uma ferramenta de função Unity Catalog que publica uma mensagem no Slack:

CREATE OR REPLACE FUNCTION main.default.slack_post_message(
  text STRING COMMENT 'message content'
)
RETURNS STRING
COMMENT 'Sends a Slack message by passing in the message and returns the response received from the external service.'
RETURN (http_request(
  conn => 'test_sql_slack',
  method => 'POST',
  path => '/api/chat.postMessage',
  json => to_json(named_struct(
    'channel', "C032G2DAH3",
    'text', text
  ))
)).text

Veja CREATE FUNCTION (SQL, Python, Scala e Java).

Observação

O acesso SQL com http_request está bloqueado para os tipos de ligação Utilizador-para-Máquina por Utilizador e Registo Dinâmico do Cliente. Usa o SDK Python Azure Databricks em vez disso.