Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
Bu özellik Genel Önizleme aşamasındadır.
Databricks SQL MCP sunucusu, ajanların Unity Kataloğu tablolarınıza karşı yapay zeka tarafından oluşturulan SQL'i çalıştırmasına ve veri okuma ve yazma imkanı veren, erişim Unity Kataloğu izinleriyle yönetilen Azure Databricks yönetilen bir MCP sunucusudur. Yapay zeka kodlama araçlarından veri boru hatları oluşturmak için kullanın. Sorgular asenkron olarak çalışır: ajan aracı sorgu başlatmak için çağırır, ardından yanıt tamamlanana kadar anket yapar.
| URL deseni | OAuth kapsamı |
|---|---|
https://<workspace-hostname>/api/2.0/mcp/sql |
sql |
_meta Parametreler
_meta parametreler, aracı kodunda MCP sunucusunun davranışını deterministik olarak ayarlamak için önceden ayarladığınız yapılandırma değerleridir; LLM'nin bunları araç çağrısı zamanında dinamik olarak üretmesine izin vermek yerine. Databricks SQL MCP sunucusu aşağıdaki _meta parametreyi destekler:
| Parametre adı | Türü | Description |
|---|---|---|
warehouse_id |
str |
Sorguları yürütmek için kullanılacak SQL ambarının kimliği. Örneğin: "a1b2c3d4e5f67890"Belirtilmezse, sistem kaynaklara ve izinlere göre otomatik olarak bir ambar seçer. |
Örnek: Databricks SQL sorguları için sql ambarı belirtme
Bu örnekte, resmi warehouse_id kullanarak Databricks SQL MCP sunucusundan sorgu çalıştıran SQL ambarını belirtmek için parametresinin nasıl kullanılacağı _meta gösterilmektedir.
Bu senaryoda şunları yapmak istiyorsunuz:
- Sistemin otomatik olarak seçmesine izin vermek yerine sorgu yürütme için belirli bir SQL ambarı kullanın
- Sorguları ayrılmış bir ambara yönlendirerek tutarlı performansı doğrulama
Bu örneği çalıştırmak için Yönetilen MCP geliştirmesi için Python ortamınızı ayarlayın:
SQL ambarı kimliğinizi bulmak için bkz. SQL ambara bağlanma.
# Import required libraries for MCP client and Databricks authentication
import asyncio
from databricks.sdk import WorkspaceClient
from databricks_mcp.oauth_provider import DatabricksOAuthClientProvider
from mcp.client.streamable_http import streamablehttp_client
from mcp.client.session import ClientSession
from mcp.types import CallToolRequest, CallToolResult
async def run_dbsql_tool_call_with_meta():
# Initialize Databricks workspace client for authentication
workspace_client = WorkspaceClient()
# Construct the MCP server URL for DBSQL
# Replace <workspace-hostname> with your workspace hostname
mcp_server_url = "https://<workspace-hostname>/api/2.0/mcp/sql"
# Establish connection to the MCP server with OAuth authentication
async with streamablehttp_client(
url=mcp_server_url,
auth=DatabricksOAuthClientProvider(workspace_client),
) as (read_stream, write_stream, _):
# Create an MCP session for making tool calls
async with ClientSession(read_stream, write_stream) as session:
# Initialize the session before making requests
await session.initialize()
# Create the tool call request with warehouse_id in _meta
request = CallToolRequest(
method="tools/call",
params={
# Tool name for executing SQL queries
"name": "execute_sql",
# Dynamic arguments - typically provided by your AI agent
"arguments": {
"query": "SELECT * FROM my_catalog.my_schema.my_table LIMIT 10"
},
# Meta parameters - specify which warehouse to use
"_meta": {
"warehouse_id": "a1b2c3d4e5f67890" # Your SQL warehouse ID
}
}
)
# Send the request and get the response
response = await session.send_request(request, CallToolResult)
return response
# Execute the async function and get results
response = asyncio.run(run_dbsql_tool_call_with_meta())