As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Modos de conexão
Você pode controlar como seu agente espera que a sessão de desktop fique disponível definindo a x-amzn-agentaccess-connect-mode cabeçalho em suas solicitações do Model Context Protocol (MCP).
nota
Os modos de conexão se aplicam tanto às frotas não associadas ao domínio quanto às unidas ao domínio. Defina o x-amzn-agentaccess-connect-mode cabeçalho ao lado de qualquer mecanismo de autenticação que seu tipo de frota usa. Para frotas não associadas ao domínio, esses são os cabeçalhos da pilha e do ID do usuário ou um cabeçalho de URL de streaming. Para frotas unidas a domínios, são os metadados de asserção SAML.
Os seguintes modos estão disponíveis:
-
BLOQUEANDO (padrão): o servidor MCP espera até que a conexão do desktop esteja totalmente estabelecida antes de responder. Quando
tools/listretorna, todas as ferramentas estão imediatamente disponíveis. -
VOTAÇÃO: o servidor MCP responde imediatamente sem esperar pela conexão do desktop. Inicialmente, apenas o
connection_statusa ferramenta está disponível. Seu agente pesquisa essa ferramenta até que a conexão seja estabelecida, quando o conjunto completo de ferramentas fica disponível.
Use o modo POLLING quando quiser que seu agente realize outro trabalho enquanto espera pela conexão do desktop ou quando precisar de mais controle sobre o comportamento do tempo limite de conexão.
O exemplo a seguir mostra como usar o modo 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()
Limpar: Para evitar cobranças contínuas de streaming, encerre o WorkSpaces Sessão de streaming de aplicativos quando seu agente termina o trabalho. Desconecte o agente para que a sessão seja fechada e não deixe as sessões ociosas em execução.