Enregistrement et rediffusion de session
L'enregistrement et la relecture des sessions du navigateur offrent une observabilité complète à des fins de débogage, d'audit ou de formation. Lorsque vous créez un navigateur avec l'enregistrement de session activé, Amazon Bedrock capture AgentCore automatiquement les interactions du navigateur et les stocke dans le compartiment Amazon S3 que vous avez spécifié pour une analyse ultérieure.
La rediffusion de session capture des données complètes sur les interactions avec le navigateur qui vous permettent de visionner les rediffusions et de comprendre les actions survenues pendant les sessions de navigation. Cette fonctionnalité vous aide à résoudre les erreurs et à améliorer les appels futurs en fournissant des informations détaillées sur le comportement du navigateur.
Les informations collectées lors de la rediffusion d'une session incluent :
-
Modifications et mutations du DOM de session
-
Actions de l'utilisateur, notamment les clics, les défilements et les interactions avec les formulaires
-
Journaux de console et messages d'erreur
-
Événements DevTools du protocole Chrome (CDP)
-
Événements réseau et requêtes HTTP
Conditions préalables à l'enregistrement de session
Pour activer l'enregistrement de session, vous devez :
-
Un compartiment Amazon S3 pour stocker les données d'enregistrement
-
Rôle d'exécution IAM autorisé à écrire dans votre compartiment Amazon S3
-
Un outil de navigateur personnalisé configuré avec l'enregistrement activé
Configurer le rôle IAM pour l'enregistrement
Pour activer l'enregistrement de session, vous avez besoin d'un rôle d'exécution IAM autorisé à écrire des données d'enregistrement sur Amazon S3 et à y consigner l'activité. CloudWatch Pour obtenir des instructions détaillées sur la configuration des autorisations, consultez la section Autorisations.
Le rôle d'exécution nécessite des autorisations supplémentaires en plus des autorisations standard du navigateur :
{ "Sid": "S3Permissions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::your-recording-bucket", "arn:aws:s3:::your-recording-bucket/*" ] }, { "Sid": "CloudWatchLogsPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": "*" }
your-recording-bucketRemplacez-le par le nom réel de votre compartiment Amazon S3.
Étape 1 : Création d'un outil de navigation avec enregistrement
Créez un outil de navigateur personnalisé avec l'enregistrement activé. Pour obtenir des instructions détaillées sur la création d'outils de navigateur, voir Création d'un AgentCore navigateur.
Lorsque vous créez votre outil de navigation, assurez-vous de :
-
Activer l'enregistrement de session dans la configuration
-
Spécifiez votre compartiment Amazon S3 et le préfixe pour le stockage des enregistrements
-
Utiliser le rôle d'exécution IAM de l'étape 1
Exemple d'utilisation du SDK Python :
import boto3 import uuid region = "us-west-2" bucket = "your-recording-bucket" client = boto3.client("bedrock-agentcore-control", region_name=region) response = client.create_browser( name="MyRecordingBrowser", description="Browser with session recording enabled", networkConfiguration={"networkMode": "PUBLIC"}, executionRoleArn="arn:aws:iam::123456789012:role/AgentCoreBrowserRecordingRole", clientToken=str(uuid.uuid4()), recording={ "enabled": True, "s3Location": { "bucket": bucket, "prefix": "browser-recordings" } } ) browser_identifier = response.get("browserId") or response.get("browserIdentifier") print(f"Created browser with recording: {browser_identifier}") print(f"Recordings will be stored at: s3://{bucket}/browser-recordings/")
Étape 2 : utiliser le navigateur compatible avec l'enregistrement
Utilisez votre navigateur compatible avec l'enregistrement avec n'importe quel framework d'automatisation. Toutes les interactions du navigateur seront automatiquement enregistrées. Exemple d'utilisation de Strands :
from strands import Agent from strands_tools.browser import AgentCoreBrowser # Use the browser created with recording browser_identifier = "your-browser-identifier" region = "us-west-2" browser_tool = AgentCoreBrowser(region=region, identifier=browser_identifier) agent = Agent(tools=[browser_tool.browser]) prompt = ( "Navigate to https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html " "and summarize the key features of AgentCore." ) response = agent(prompt) print("Agent Response:") print(response.message["content"][0]["text"])
Toutes les interactions au cours de cette session seront automatiquement enregistrées et téléchargées dans votre compartiment Amazon S3 à la fin de la session.
Étape 3 : Surveiller les sessions en direct et rejouer les enregistrements
La AWS console fournit des outils complets pour la surveillance en temps réel et l'analyse des sessions enregistrées.
Surveillance de la vue en direct
Surveillez les sessions du navigateur en temps réel et interagissez avec les sessions actives :
Pour accéder à la vue en direct dans la console
-
Ouvrez la AgentCore console Amazon Bedrock et accédez aux outils Built-in
-
Sélectionnez l'outil de votre navigateur dans la liste (par exemple,
MyRecordingBrowser) -
Dans la section Sessions du navigateur, recherchez une session active dont le statut est Prêt ou En cours
-
Dans la colonne Affichage en direct/enregistrement, cliquez sur l'URL « Afficher la session en direct » fournie
-
La vue en direct s'ouvre dans une nouvelle fenêtre de navigateur, affichant la session de navigation en temps réel
L'interface de visualisation en direct fournit :
-
Real-time flux vidéo de la session du navigateur
-
Commandes interactives pour prendre le relais ou libérer le contrôle de l'automatisation
-
Indicateurs d'état de session et informations de connexion
-
Possibilité d'interagir directement avec le navigateur lorsque le contrôle est activé
Rediffusion et analyse de sessions
Accédez à des enregistrements et à des analyses de session détaillés via l'interface de rediffusion de la console :
Pour accéder à la rediffusion de session sur la console
-
Accédez à l'outil de votre navigateur et sélectionnez une session terminée avec le statut Terminé
-
Cliquez sur Afficher l'enregistrement pour la session que vous souhaitez analyser
-
La page de rediffusion de session s'affiche avec des outils d'analyse complets
Fonctionnalités d'analyse de session
La console fournit plusieurs outils d'analyse :
-
Lecteur vidéo : lecture interactive avec épurateur de chronologie pour la navigation
-
Navigation dans les pages : panneau affichant toutes les pages visitées avec des plages de temps
-
Actions de l'utilisateur : toutes les interactions de l'utilisateur avec horodatage, méthodes et détails
-
DOM de page : structure DOM et contenu HTML pour chaque page
-
Journaux de console : résultats de la console du navigateur, erreurs et messages de journal
-
Événements CDP : événements DevTools du protocole Chrome avec paramètres et résultats
-
Événements réseau : requêtes HTTP, réponses, codes d'état et chronométrage
Naviguer dans les enregistrements
Utilisez les méthodes suivantes pour parcourir les enregistrements :
-
Cliquez sur les pages du panneau Pages pour accéder à des moments spécifiques
-
Cliquez sur les actions de l'utilisateur pour voir où elles se sont produites dans la chronologie
-
Utilisez le nettoyeur de chronologie vidéo pour une navigation précise
-
Choisissez Afficher les liens d'enregistrement dans les tables d'action pour accéder à des interactions spécifiques
Étape 4 : Accédez aux enregistrements par programmation
Accédez à la visualisation en direct et à l'enregistrement des informations par programmation à l'aide du AgentCore SDK Amazon Bedrock et des API pour une intégration personnalisée et une analyse automatisée.
Accès programmatique à la vue en direct
Connectez-vous aux sessions de navigation en direct à l'aide du client du navigateur et du serveur de visualisation :
import time from rich.console import Console from bedrock_agentcore.tools.browser_client import browser_session from browser_viewer import BrowserViewerServer console = Console() def main(): try: # Create browser session with browser_session('us-west-2') as client: print("✅ Browser ready!") ws_url, headers = client.generate_ws_headers() # Start viewer server console.print("[cyan]Starting viewer server...[/cyan]") viewer = BrowserViewerServer(client, port=8005) viewer_url = viewer.start(open_browser=True) # Keep running while True: time.sleep(1) except KeyboardInterrupt: console.print("[yellow]Shutting down...[/yellow]") if 'client' in locals(): client.stop() console.print("✅ Browser session terminated") if __name__ == "__main__": main()
Accès aux enregistrements programmatiques
Accédez aux données d'enregistrement directement depuis Amazon S3 pour des flux de travail d'analyse personnalisés :
import boto3 s3_client = boto3.client('s3', region_name='us-west-2') # List recordings in your bucket bucket_name = "your-recording-bucket" prefix = "browser-recordings/" response = s3_client.list_objects_v2(Bucket=bucket_name, Prefix=prefix) print(f"Recordings in s3://{bucket_name}/{prefix}:") for obj in response.get('Contents', []): print(f" {obj['Key']} ({obj['Size']} bytes)") print(f" Last Modified: {obj['LastModified']}") print()
Structure des données d'enregistrement :
s3://your-recording-bucket/browser-recordings/ └── session-id/ ├── batch_1.ndjson.gz ├── batch_2.ndjson.gz └── batch_3.ndjson.gz
Chaque session crée un dossier avec l'ID de session, et les données d'enregistrement sont téléchargées par blocs au fur et à mesure que la session progresse.
Exemples programmatiques de rediffusion de session
Pour les cas d'utilisation avancés, vous pouvez créer des visionneuses de rediffusion de session personnalisées et intégrer les données d'enregistrement dans vos propres flux de travail d'analyse.
Les GitHub exemples suivants présentent un visualiseur de rediffusion de session autonome et montrent à quoi ressemble l'expérience complète du navigateur lors de l'utilisation de la fonctionnalité de réexécution de session du navigateur.
Pour des exemples supplémentaires, consultez la section Exemples de AgentCore navigateurs sur GitHub
L'afficheur de rediffusion de session autonome est un outil distinct permettant de visualiser les sessions de navigateur enregistrées directement depuis Amazon S3 sans créer de nouveau navigateur.
-
Connectez-vous directement à S3 pour visionner les enregistrements
-
Afficher tout enregistrement passé en spécifiant son identifiant de session
-
Afficher des messages d'erreur lorsque des artefacts sont absents de S3, avec des URL de rediffusion de console spécifiques à l'ID de session
-
Interface de lecture vidéo interactive avec navigation chronologique
-
Marqueurs d'action sur la chronologie indiquant les remplissages de formulaires, les clics et les événements de navigation
-
Tableau d'observabilité affichant les pages parcourues avec la durée et les détails de l'URL
-
Événements de console, journaux CDP et journaux réseau pour chaque interaction de page
-
Suivi de la durée de session intégré au niveau de la page
-
Real-time vérification des actions avec corrélation visuelle entre la vidéo et les données d'action
# View the latest recording in a bucket python view_recordings.py --bucket session-record-test-123456789012 --prefix replay-data # View a specific recording python view_recordings.py --bucket session-record-test-123456789012 --prefix replay-data --session 01JZVDG02M8MXZY2N7P3PKDQ74 # Use a specific AWS profile python view_recordings.py --bucket session-record-test-123456789012 --prefix replay-data --profile my-profile
Pour référence, voir Visionneuse de rediffusion de session autonome
Un outil complet pour créer des sessions de navigation avec des fonctionnalités d'enregistrement et de rediffusion avancées.
-
Créez des sessions de navigateur avec enregistrement automatique sur S3
-
Affichage en direct avec commande interactive (take/release)
-
Réglez la résolution d'affichage à la volée
-
Enregistrement automatique de session sur S3
-
Visionneuse de rediffusion de session intégrée avec interface de lecteur vidéo
-
Nettoyage de la chronologie avec suivi précis de la localisation des actions
-
Page-by-page analyse avec chronologie de navigation et copie d'URL
-
Vérification de l'action de remplissage du formulaire avec les détails de l'emplacement des clics
-
Suivi de la durée de session intégré au niveau de la page
-
Real-time vérification des actions avec corrélation visuelle entre la vidéo et les données d'action
# View the latest recording in a bucket python -m live_view_sessionreplay.browser_interactive_session
Pour référence, voir Session de navigateur interactive activée GitHub