Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
Deze functie bevindt zich in openbare preview-versie.
Verbind uw AI-agents met externe toepassingen, zoals Slack, Google Calendar of een service met een API. Azure Databricks biedt verschillende benaderingen, afhankelijk van of de externe service een MCP-server heeft, of u verificatie per gebruiker nodig hebt of of u liever API's rechtstreeks vanuit agentcode aanroept. Alle benaderingen zijn afhankelijk van een UNITY Catalog HTTP-verbinding om referenties veilig te beheren en toegang tot externe services te beheren.
| Methode | Aanbevolen gebruiksgeval |
|---|---|
| Externe MCP-servers | Gebruik deze methode voor services die een MCP-server publiceren. Het biedt automatische detectie van hulpprogramma's en werkt met standaard-SDK's. |
| Beheerde OAuth | Gebruik deze methode voor Google Drive of SharePoint integraties. Azure Databricks de OAuth-referenties beheert, dus er is geen app-registratie vereist. |
| UC-verbindingenproxy | Gebruik deze methode om directe REST API-aanroepen uit agentcode uit te voeren met behulp van de eigen client-SDK van de externe service. |
| UC-functiehulpprogramma's | Gebruik deze methode voor op SQL gebaseerde hulpprogrammadefinities waarmee de http_request() functie wordt verpakt. |
Requirements
- Een Unity Catalog HTTP-verbinding voor uw externe toepassing. Unity Catalog-verbindingen bieden veilig, beheerd referentiebeheer en maken meerdere verificatiemethoden mogelijk, waaronder OAuth 2.0-gebruikers-naar-machine- en machine-naar-machine-verificatie.
Externe MCP-servers
Als er een MCP-server beschikbaar is voor de externe service, raadt Azure Databricks u aan verbinding te maken via external MCP-servers. MCP-servers bieden automatische detectie van hulpprogramma's, vereenvoudigde integratie en verificatie per gebruiker. Zie Externe MCP-servers gebruiken voor installatiemethoden, programmatisch gebruik en verificatiedetails.
Een externe MCP-server toevoegen aan uw agent
Nadat u de externe MCP-server hebt geregistreerd als een Unity Catalog-verbinding, verbindt u uw agent met behulp van de beheerde MCP-URL: https://<workspace-hostname>/api/2.0/mcp/external/{connection_name}. Vervang <connection-name> door de naam van uw Unity Catalog-verbinding.
OpenAI Agents SDK (Apps)
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)
Ververleent de app toegang tot de Unity Catalog-verbinding in 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 (Apps)
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)
Ververleent de app toegang tot de Unity Catalog-verbinding in databricks.yml:
resources:
apps:
my_agent_app:
resources:
- name: 'my_connection'
uc_securable:
securable_full_name: '<connection-name>'
securable_type: 'CONNECTION'
permission: 'USE_CONNECTION'
Model serveren
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(),
)
Zie Een agent implementeren voor generatieve AI-toepassingen (Model Serving) om de agent te implementeren. Zie Databricks managed MCP-servers gebruiken voor meer informatie over het registreren van agents met MCP-resources.
Beheerde OAuth
Azure Databricks biedt beheerde OAuth-stromen voor geselecteerde API-hulpprogrammaproviders. U hoeft uw eigen OAuth-app niet te registreren of referenties te beheren. Azure Databricks raadt Managed OAuth aan voor ontwikkeling en testen. Als voor productiegebruiksscenario's aangepaste OAuth-referenties moeten worden gegenereerd, raadpleegt u de documentatie van de providers voor meer informatie.
De volgende integraties gebruiken Azure Databricks beheerde OAuth-referenties die veilig zijn opgeslagen in de back-end.
| Aanbieder | Configuratieopmerkingen | Ondersteunde toepassingsgebieden | Beschrijving |
|---|---|---|---|
| Google Drive-API | Geen | https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents.readonly https://www.googleapis.com/auth/spreadsheets.readonly offline_access |
Alleen-lezentoegang tot Google Drive-bestanden. |
| SharePoint-API | Geen | https://graph.microsoft.com/Sites.Read.All offline_access openid profile |
Alleen leestoegang tot SharePoint-websites. |
Als u beheerde OAuth wilt instellen, maakt u een HTTP-verbinding met het verificatietype OAuth-gebruiker naar machine per gebruiker en selecteert u uw provider in de vervolgkeuzelijst OAuth-provider . Zie Een externe MCP-server installeren voor gedetailleerde stappen.
Elke gebruiker wordt gevraagd om bij de provider toestemming te geven voor het eerste gebruik.
Als het nodig is, staat u de volgende doorstuur-URI's toe die worden gebruikt door beheerde OAuth.
| Wolk | Doorverwijs-URI |
|---|---|
| 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 |
Proxy-eindpunt voor UC-verbindingen
Gebruik het proxy-eindpunt voor Unity Catalog-verbindingen met de eigen client-SDK van de externe service om REST API's rechtstreeks vanuit agentcode aan te roepen. Wijs de basis-URL van de SDK naar het proxy-eindpunt en gebruik uw Azure Databricks token als de API-sleutel. Azure Databricks verifieert de aanvraag en injecteert automatisch de referenties van de externe service vanuit de Unity Catalog-verbinding. Uw code verwerkt de tokens van de externe service nooit rechtstreeks.
Vereiste machtigingen:USE CONNECTION op het verbindingsobject.
OpenAI
Gebruik DatabricksOpenAI om oproepen naar externe OpenAI te routeren via de Unity Catalog-verbindingen proxy. Maak eerst een UNITY Catalog HTTP-verbinding met behulp van uw OpenAI API-sleutel die is opgeslagen als een Databricks-geheim:
CREATE CONNECTION openai_connection TYPE HTTP
OPTIONS (
host 'https://api.openai.com',
base_path '/v1',
bearer_token secret ('<secret-scope>', '<secret-key>')
);
Installeer vervolgens het databricks-openai pakket en gebruik de proxy-URL en werkruimteclient in uw agentcode:
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
Configureer de Slack SDK om te routeren via de Unity Catalog-verbindingenproxy. Maak een Unity Catalog HTTP-verbinding met host https://slack.com en basispad /apien gebruik vervolgens de proxy-URL als de SDK-basis-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"])
Algemene HTTP
Voor services zonder een toegewezen SDK gebruikt u de requests bibliotheek rechtstreeks met de proxy-URL:
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-functiehulpprogramma's met HTTP-verbindingen
Note
Azure Databricks raadt u aan MCP-servers of de proxy voor UC-verbindingen te gebruiken voor nieuwe integraties. UC-functiehulpprogramma's met http_request worden nog steeds ondersteund, maar zijn niet langer de aanbevolen aanpak.
U kunt een Unity Catalog-functie maken die wordt verpakt http_request() om externe services aan te roepen. Deze methode is handig voor op SQL gebaseerde hulpprogrammadefinities. Zie Ai-agenthulpprogramma's maken met behulp van Unity Catalog-functies voor meer informatie over het maken van UC-functiehulpprogramma's.
In het volgende voorbeeld wordt een functiehulpprogramma voor Unity Catalog gemaakt waarmee een bericht naar Slack wordt geplaatst:
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
Zie CREATE FUNCTION (SQL en Python).
Note
SQL-toegang met http_request is geblokkeerd voor de verbindingstypen gebruikers-naar-machine per gebruiker en dynamische clientregistratie. Gebruik in plaats daarvan de Python Azure Databricks SDK.
Voorbeeldnotitieblokken
Een agent verbinden met Slack
Zie Een AI-agent verbinden met Slack.
Een agent verbinden met Microsoft Teams
Zie Een AI-agent verbinden met Microsoft Teams.
Hulpprogramma's voor externe verbindingen
De volgende notebooks laten zien hoe u AI-agenttools maakt die verbinding maken met Slack, OpenAI en Azure AI Search.