Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Modes de connexion
Vous pouvez contrôler la façon dont votre agent attend que la session de bureau soit disponible en définissant le x-amzn-agentaccess-connect-mode en-tête de vos requêtes MCP (Model Context Protocol).
Note
Les modes de connexion s'appliquent à la fois aux flottes ne faisant pas partie d'un domaine et à celles appartenant à un domaine. Réglez le x-amzn-agentaccess-connect-mode en-tête à côté du mécanisme d'authentification utilisé par votre type de flotte. Pour les flottes non associées à un domaine, il s'agit soit des en-têtes de pile et d'ID utilisateur, soit d'un en-tête Streaming-URL. Pour les flottes jointes à un domaine, il s'agit des métadonnées d'assertion SAML.
Les modes suivants sont disponibles :
-
BLOCAGE (par défaut) : le serveur MCP attend que la connexion au bureau soit complètement établie avant de répondre. Quand
tools/listretours, tous les outils sont immédiatement disponibles. -
SONDAGE: le serveur MCP répond immédiatement sans attendre la connexion au poste de travail. Dans un premier temps, seul le
connection_statusl'outil est disponible. Votre agent interroge cet outil jusqu'à ce que la connexion soit établie, date à laquelle l'ensemble d'outils complet devient disponible.
Utilisez le mode POLLING lorsque vous souhaitez que votre agent effectue d'autres tâches en attendant la connexion au bureau, ou lorsque vous avez besoin de mieux contrôler le comportement du délai d'expiration de la connexion.
L'exemple suivant montre comment utiliser le mode 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()
Nettoyer: Pour éviter les frais de streaming permanents, mettez fin à WorkSpaces Session de streaming des applications lorsque votre agent a terminé son travail. Déconnectez l'agent pour fermer la session et ne laissez pas les sessions inactives en cours d'exécution.