本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
連線模式
您可以在模型內容通訊協定 (MCP) 請求上設定 x-amzn-agentaccess-connect-mode標頭,以控制代理程式等待桌面工作階段變成可用的方式。
注意
連線模式適用於non-domain-joined和加入網域的機群。將 x-amzn-agentaccess-connect-mode 標頭與機群類型使用的任何身分驗證機制一起設定。對於non-domain-joined的機群,即堆疊和使用者 ID 標頭或串流 URL 標頭。對於加入網域的機群,它是 SAML 聲明中繼資料。
下列模式可供使用:
-
BLOCKING (預設):MCP 伺服器會等到桌面連線完全建立後再回應。
tools/list傳回 時,所有工具都會立即可用。 -
輪詢:MCP 伺服器會立即回應,無需等待桌面連線。一開始,只有
connection_status工具可用。您的代理程式會輪詢此工具,直到建立連線為止,此時完整的工具集會變成可用。
當您希望代理程式在等待桌面連線時執行其他工作,或需要更多控制連線逾時行為時,請使用 POLLING 模式。
下列範例示範如何使用 POLLING 模式:
# Pass the header when creating the MCP connection headers = { "x-amzn-agentaccess-streaming-session-url": streaming_url, # non-domain-joined fleets "x-amzn-agentaccess-connect-mode": "POLLING", } # After initialize, tools/list returns immediately with connection_status tools = await session.list_tools() # tools = [connection_status] # Poll connection_status until the desktop is ready while True: result = await session.call_tool("connection_status", {}) status = json.loads(result.content[0].text) if status["state"] == "CONNECTED": break time.sleep(2) # Now tools/list returns the full set (screenshot, left_click, type_text, and so on) tools = await session.list_tools()
清除:若要避免持續串流費用,請在您的代理程式完成工作時結束 WorkSpaces 應用程式串流工作階段。中斷連接代理程式,讓工作階段關閉,並且不要讓閒置工作階段保持執行狀態。