Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Important
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Anslut dina AI-agenter till externa program som Slack, Google Calendar eller någon tjänst med ett API. Azure Databricks tillhandahåller flera metoder beroende på om den externa tjänsten har en MCP-server, om du behöver autentisering per användare eller om du föredrar att anropa API:er direkt från agentkoden. Alla metoder förlitar sig på en HTTP-anslutning i Unity Catalog för att hantera autentiseringsuppgifter på ett säkert sätt och styra åtkomsten till externa tjänster.
| Tillvägagångssätt | Rekommenderat användningsfall |
|---|---|
| Externa MCP-servrar | Använd den här metoden för tjänster som publicerar en MCP-server. Den tillhandahåller automatisk identifiering av verktyg och fungerar med standard-SDK:er. |
| Hanterad OAuth | Använd den här metoden för Google Drive eller SharePoint integreringar. Azure Databricks hanterar OAuth-autentiseringsuppgifterna, så ingen appregistrering krävs. |
| Proxy för UC-anslutningar | Använd den här metoden för att göra direkta REST API-anrop från agentkod med hjälp av den externa tjänstens egen klient-SDK. |
| UC-funktionsverktyg | Använd den här metoden för SQL-baserade verktygsdefinitioner som omsluter http_request() funktionen. |
Requirements
- En HTTP-anslutning för Unity Catalog för ditt externa program. Unity Catalog-anslutningar ger säker, styrd hantering av autentiseringsuppgifter och aktiverar flera autentiseringsmetoder, inklusive OAuth 2.0-autentisering från användare till dator och autentisering från dator till dator.
Externa MCP-servrar
Om den externa tjänsten har en MCP-server tillgänglig rekommenderar Azure Databricks att du ansluter via externa MCP-servrar. MCP-servrar tillhandahåller automatisk identifiering av verktyg, förenklad integrering och autentisering per användare. Se Använda externa MCP-servrar för installationsmetoder, programmatisk användning och autentiseringsinformation.
Lägga till en extern MCP-server i din agent
När du har registrerat den externa MCP-servern som en Anslutning till Unity Catalog ansluter du din agent till den med hjälp av den hanterade MCP-URL:en: https://<workspace-hostname>/api/2.0/mcp/external/{connection_name}. Ersätt <connection-name> med namnet på anslutningen till Unity Catalog.
OpenAI Agents SDK (Appar)
from agents import Agent, Runner
from databricks.sdk import WorkspaceClient
from databricks_openai.agents import McpServer
workspace_client = WorkspaceClient()
host = workspace_client.config.host
async with McpServer(
url=f"{host}/api/2.0/mcp/external/<connection-name>",
name="external-service",
workspace_client=workspace_client,
) as external_server:
agent = Agent(
name="Connected agent",
instructions="You are a helpful assistant with access to external services.",
model="databricks-claude-sonnet-4-5",
mcp_servers=[external_server],
)
result = await Runner.run(agent, "Send a Slack message to the team about the deployment")
print(result.final_output)
Bevilja appen åtkomst till Unity Catalog-anslutningen i databricks.yml:
resources:
apps:
my_agent_app:
resources:
- name: 'my_connection'
uc_securable:
securable_full_name: '<connection-name>'
securable_type: 'CONNECTION'
permission: 'USE_CONNECTION'
LangGraph (appar)
from databricks.sdk import WorkspaceClient
from databricks_langchain import ChatDatabricks, DatabricksMCPServer, DatabricksMultiServerMCPClient
from langgraph.prebuilt import create_react_agent
workspace_client = WorkspaceClient()
host = workspace_client.config.host
mcp_client = DatabricksMultiServerMCPClient([
DatabricksMCPServer(
name="external-service",
url=f"{host}/api/2.0/mcp/external/<connection-name>",
workspace_client=workspace_client,
),
])
async with mcp_client:
tools = await mcp_client.get_tools()
agent = create_react_agent(
ChatDatabricks(endpoint="databricks-claude-sonnet-4-5"),
tools=tools,
)
result = await agent.ainvoke(
{"messages": [{"role": "user", "content": "Send a Slack message to the team about the deployment"}]}
)
print(result["messages"][-1].content)
Bevilja appen åtkomst till Unity Catalog-anslutningen i databricks.yml:
resources:
apps:
my_agent_app:
resources:
- name: 'my_connection'
uc_securable:
securable_full_name: '<connection-name>'
securable_type: 'CONNECTION'
permission: 'USE_CONNECTION'
Modellhantering
from databricks.sdk import WorkspaceClient
from databricks_mcp import DatabricksMCPClient
import mlflow
workspace_client = WorkspaceClient()
host = workspace_client.config.host
mcp_client = DatabricksMCPClient(
server_url=f"{host}/api/2.0/mcp/external/<connection-name>",
workspace_client=workspace_client,
)
tools = mcp_client.list_tools()
mlflow.pyfunc.log_model(
"agent",
python_model=my_agent,
resources=mcp_client.get_databricks_resources(),
)
Information om hur du distribuerar agenten finns i Distribuera en agent för generativa AI-program (modellservering). Mer information om loggningsagenter med MCP-resurser finns i Använda Databricks-hanterade MCP-servrar.
Hanterad OAuth
Azure Databricks erbjuder hanterade OAuth-flöden för utvalda API-verktygsproviders. Du behöver inte registrera din egen OAuth-app eller hantera autentiseringsuppgifter. Azure Databricks rekommenderar Managed OAuth för utveckling och testning. Om produktionsanvändningsfall kräver att anpassade OAuth-autentiseringsuppgifter genereras kan du läsa providerdokumentationen för mer information.
Följande integreringar använder Azure Databricks hanterade OAuth-autentiseringsuppgifter som lagras på ett säkert sätt i serverdelen.
| Leverantör | Konfigurationsanteckningar | Behörighetsområden som stöds | Beskrivning |
|---|---|---|---|
| Google Drive API | Ingen | https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents.readonly https://www.googleapis.com/auth/spreadsheets.readonly offline_access |
Skrivskyddad åtkomst till Google Drive-filer. |
| SharePoint API | Ingen | https://graph.microsoft.com/Sites.Read.All offline_access openid profile |
Skrivskyddad åtkomst till SharePoint webbplatser. |
Om du vill konfigurera hanterad OAuth skapar du en HTTP-anslutning med autentiseringstypen OAuth-användare till dator per användare och väljer din leverantör i listrutan OAuth-provider . Detaljerade steg finns i Installera en extern MCP-server.
Varje användare uppmanas att auktorisera med providern vid första användningen.
Tillåt vid behov följande omdirigeringsadresser som används av den hanterade OAuth-processen:
| Moln | URI för omdirigering |
|---|---|
| AWS | https://oregon.cloud.databricks.com/api/2.0/http/oauth/redirect |
| Azure | https://westus.azuredatabricks.net/api/2.0/http/oauth/redirect |
| GCP | https://us-central1.gcp.databricks.com/api/2.0/http/oauth/redirect |
Proxyslutpunkt för UC-anslutningar
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 aldrig den externa tjänstens token direkt.
Behörigheter som krävs: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"},
)
UC-funktionsverktyg med HTTP-anslutningar
Note
Azure Databricks rekommenderar att du använder MCP-servrar eller proxyn UC-anslutningar för nya integreringar. UC-funktionsverktyg med http_request förblir stödda men är inte längre den rekommenderade metoden.
Du kan skapa en Unity Catalog-funktion som innesluter http_request() för att anropa externa tjänster. Den här metoden är användbar för SQL-baserade verktygsdefinitioner. Mer information om hur du skapar UC-funktionsverktyg finns i Skapa AI-agentverktyg med hjälp av Unity Catalog-funktioner .
I följande exempel skapas ett funktionsverktyg för Unity Catalog som publicerar ett meddelande till 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
Se CREATE FUNCTION (SQL och Python).
Note
SQL-åtkomst med http_request blockeras för anslutningstyperna Användare till dator per användare och Dynamisk klientregistrering. Använd Python Azure Databricks SDK i stället.
Exempelanteckningsböcker
Ansluta en agent till Slack
Se Ansluta en AI-agent till Slack.
Ansluta en agent till Microsoft Teams
Se Anslut en AI-agent till Microsoft Teams.
Verktyg för extern anslutning
Följande notebook-filer visar hur du skapar AI-agentverktyg som ansluter till Slack, OpenAI och Azure AI-sökning.