Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Important
Fitur ini ada di Pratinjau Umum.
Hubungkan agen AI Anda ke aplikasi eksternal seperti Slack, Google Kalender, atau layanan apa pun dengan API. Azure Databricks menyediakan beberapa pendekatan tergantung pada apakah layanan eksternal memiliki server MCP, apakah Anda memerlukan autentikasi per pengguna, atau apakah Anda lebih suka memanggil API langsung dari kode agen. Semua pendekatan mengandalkan koneksi HTTP Katalog Unity untuk mengelola kredensial dengan aman dan mengatur akses ke layanan eksternal.
| Pendekatan | Kasus penggunaan yang direkomendasikan |
|---|---|
| Server MCP eksternal | Gunakan pendekatan ini untuk layanan yang menerbitkan server MCP. Ini menyediakan penemuan alat otomatis dan berfungsi dengan SDK standar. |
| OAuth Terkelola | Gunakan pendekatan ini untuk integrasi Google Drive atau SharePoint. Azure Databricks mengelola kredensial OAuth, sehingga tidak diperlukan pendaftaran aplikasi. |
| Proksi koneksi UC | Gunakan pendekatan ini untuk melakukan panggilan REST API langsung dari kode agen menggunakan SDK klien layanan eksternal sendiri. |
| Alat fungsi UC | Gunakan pendekatan ini untuk definisi alat berbasis SQL yang membungkus http_request() fungsi. |
Requirements
- Sebuah koneksi HTTP untuk Katalog Unity aplikasi eksternal Anda. Koneksi Katalog Unity menyediakan manajemen kredensial yang aman dan diatur dan mengaktifkan beberapa metode autentikasi, termasuk autentikasi pengguna ke mesin OAuth 2.0 dan autentikasi komputer-ke-mesin.
Server MCP eksternal
Jika layanan eksternal memiliki server MCP yang tersedia, Azure Databricks merekomendasikan untuk terhubung melalui server MCP external. Server MCP menyediakan penemuan alat otomatis, integrasi yang disederhanakan, dan autentikasi per pengguna. Lihat Menggunakan server MCP eksternal untuk metode penginstalan, penggunaan terprogram, dan detail autentikasi.
Menambahkan server MCP eksternal ke agen Anda
Setelah Anda mendaftarkan server MCP eksternal sebagai koneksi Katalog Unity, sambungkan agen Anda ke server tersebut menggunakan URL MCP terkelola: https://<workspace-hostname>/api/2.0/mcp/external/{connection_name}. Ganti <connection-name> dengan nama koneksi Katalog Unity Anda.
OpenAI Agents SDK (Aplikasi)
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)
Berikan akses aplikasi ke koneksi Unity Catalog di 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 (Aplikasi)
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)
Berikan akses aplikasi ke koneksi Unity Catalog di 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 Serving
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(),
)
Untuk menyebarkan agen, lihat Menyebarkan agen untuk aplikasi AI generatif (Model Melayani). Untuk detail tentang agen pengelogan dengan sumber daya MCP, lihat Menggunakan server MCP terkelola Databricks.
Terkelola OAuth
Azure Databricks menawarkan alur OAuth terkelola untuk penyedia alat API tertentu. Anda tidak perlu mendaftarkan aplikasi OAuth Anda sendiri atau mengelola kredensial. Azure Databricks merekomendasikan OAuth Terkelola untuk pengembangan dan pengujian. Jika kasus penggunaan produksi memerlukan pembuatan kredensial OAuth kustom, lihat dokumentasi penyedia untuk informasi selengkapnya.
Integrasi berikut menggunakan kredensial OAuth yang dikelola Azure Databricks disimpan dengan aman di backend.
| Provider | Catatan konfigurasi | Cakupan yang didukung | Deskripsi |
|---|---|---|---|
| Google Drive API | Tidak | https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents.readonly https://www.googleapis.com/auth/spreadsheets.readonly offline_access |
Akses baca-saja ke file Google Drive. |
| SharePoint API | Tidak | https://graph.microsoft.com/Sites.Read.All offline_access openid profile |
Akses baca-saja ke situs SharePoint. |
Untuk menyiapkan OAuth terkelola, buat koneksi HTTP dengan jenis autentikasi Pengguna OAuth ke Mesin Per Pengguna dan pilih penyedia Anda dari menu drop-down Penyedia OAuth . Untuk langkah-langkah mendetail, lihat Menginstal server MCP eksternal.
Setiap pengguna diminta untuk mengotorisasi dengan penyedia pada penggunaan pertama.
Jika diperlukan, izinkan daftar URI pengalihan berikut yang digunakan oleh OAuth terkelola:
| Cloud | Pengalihan 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 |
Titik akhir proksi untuk koneksi UC
Gunakan titik akhir proksi koneksi Unity Catalog bersama SDK klien dari layanan eksternal tersebut untuk mengakses API REST langsung dari kode agen. Arahkan URL dasar SDK ke titik akhir proksi dan gunakan token Azure Databricks Anda sebagai kunci API. Azure Databricks mengautentikasi permintaan dan secara otomatis menyuntikkan kredensial layanan eksternal dari koneksi Katalog Unity. Kode Anda tidak pernah menangani token layanan eksternal secara langsung.
Izin diperlukan:USE CONNECTION pada objek koneksi.
OpenAI
Gunakan DatabricksOpenAI untuk merutekan panggilan ke OpenAI eksternal melalui perantara koneksi Katalog Unity. Pertama, buat koneksi HTTP Unity Catalog menggunakan kunci API OpenAI Anda yang disimpan sebagai rahasia Databricks:
CREATE CONNECTION openai_connection TYPE HTTP
OPTIONS (
host 'https://api.openai.com',
base_path '/v1',
bearer_token secret ('<secret-scope>', '<secret-key>')
);
Kemudian instal paket databricks-openai dan gunakan URL proksi serta klien ruang kerja di dalam kode agen Anda.
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
Konfigurasikan SDK Slack untuk mengalihkan melalui proksi koneksi Katalog Unity. Buat koneksi HTTP Katalog Unity dengan host https://slack.com dan jalur dasar /api, lalu gunakan URL proksi sebagai URL dasar SDK:
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"])
HTTP Generik
Untuk layanan tanpa SDK yang didedikasikan, gunakan pustaka requests dengan URL proksi secara langsung:
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"},
)
Alat fungsi UC dengan koneksi HTTP
Note
Azure Databricks merekomendasikan penggunaan server MCP atau proksi koneksi UC untuk integrasi baru. Alat fungsi UC dengan http_request tetap didukung tetapi bukan lagi pendekatan yang direkomendasikan.
Anda dapat membuat fungsi Katalog Unity yang dibungkus http_request() untuk memanggil layanan eksternal. Pendekatan ini berguna untuk definisi alat berbasis SQL. Lihat Membuat alat agen AI menggunakan fungsi Unity Catalog untuk detail tentang membuat alat fungsi UC.
Contoh berikut membuat alat fungsi Unity Catalog yang memposting pesan ke 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
Lihat CREATE FUNCTION (SQL dan Python).
Note
Akses SQL dengan http_request diblokir untuk jenis koneksi Pengguna-ke-Mesin Per Pengguna dan Pendaftaran Klien Dinamis. Gunakan SDK Python Azure Databricks sebagai gantinya.
Contoh buku catatan
Menyambungkan agen ke Slack
Lihat Menyambungkan agen AI ke Slack.
Menyambungkan agen ke Microsoft Teams
Lihat Hubungkan agen AI ke Microsoft Teams.
Alat koneksi eksternal
Notebook berikut menunjukkan pembuatan alat agen AI yang terhubung dengan Slack, OpenAI, dan pencarian Azure AI.