View a markdown version of this page

Modos de conexão - Amazônia WorkSpaces Aplicações

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/list retorna, 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_status a 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.