Anropa REST-API:er direkt från agentkod

Använd proxyslutpunkten för Unity Catalog-anslutningar med den externa tjänstens egen klient-SDK för att anropa REST-API:er direkt från agentkoden. Peka SDK:ns bas-URL till proxyslutpunkten och använd din Azure Databricks-token som API-nyckel. Azure Databricks autentiserar begäran och matar automatiskt in den externa tjänstens autentiseringsuppgifter från Unity Catalog-anslutningen. Koden hanterar inte den externa tjänstens token direkt.

Requirements

  • En HTTP-anslutning i Unity Catalog för den externa tjänsten. Proxy-endpointen använder denna anslutning för att autentisera och injicera tjänstens inloggningsuppgifter.
  • USE CONNECTION på anslutningsobjektet.

OpenAI

Använd DatabricksOpenAI för att dirigera anrop till extern OpenAI via proxyn för Unity Catalog-anslutningar. Skapa först en HTTP-anslutning för Unity Catalog med hjälp av din OpenAI API-nyckel som lagras som en Databricks-hemlighet:

CREATE CONNECTION openai_connection TYPE HTTP
OPTIONS (
  host 'https://api.openai.com',
  base_path '/v1',
  bearer_token secret ('<secret-scope>', '<secret-key>')
);

Installera sedan databricks-openai-paketet och använd proxy-URL:en och arbetsyte-klienten i agentkoden.

pip install databricks-openai
from databricks_openai import DatabricksOpenAI
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

client = DatabricksOpenAI(
    workspace_client=w,
    base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/openai_connection/proxy/",
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)

Slack

Konfigurera Slack SDK så att det dirigeras via unity catalog-anslutningsproxyn. Skapa en HTTP-anslutning för Unity-katalogen med värd https://slack.com - och bassökvägen /apioch använd sedan proxy-URL:en som SDK-bas-URL:

from slack_sdk import WebClient
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

client = WebClient(
    token=w.config.authenticate()["Authorization"].split(" ")[1],
    base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/slack_connection/proxy/",
)

result = client.chat_postMessage(channel="C123456", text="Hello from Databricks!")
print(result["message"]["text"])

Generisk HTTP

För tjänster utan dedikerad SDK använder du requests biblioteket med proxy-URL:en direkt:

import requests
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

response = requests.post(
    f"{w.config.host}/api/2.0/unity-catalog/connections/my_connection/proxy/api/v1/resource",
    headers={
        **w.config.authenticate(),
        "Content-Type": "application/json",
    },
    json={"key": "value"},
)

Mer information om proxyslutpunkten, autentiseringsmetoder som stöds och anslutningskonfiguration finns i Vidarebefordra begäranden via HTTP-anslutningsproxyn.