Grabación y reproducción de sesiones
La grabación y reproducción de las sesiones del navegador proporcionan una observabilidad completa con fines de depuración, auditoría o formación. Cuando crea un navegador con la grabación de sesiones habilitada, Amazon Bedrock captura AgentCore automáticamente las interacciones del navegador y las almacena en el bucket de Amazon S3 especificado para su posterior análisis.
La reproducción de sesiones recopila datos completos de interacción con el navegador que le permiten ver las repeticiones y comprender las acciones que se produjeron durante las sesiones del navegador. Esta funcionalidad le ayuda a resolver errores y mejorar las futuras invocaciones al proporcionar información detallada sobre el comportamiento del navegador.
La información recopilada durante la reproducción de la sesión incluye:
-
Cambios y mutaciones en el DOM de la sesión
-
Acciones del usuario, incluidos los clics, los desplazamientos y las interacciones con los formularios
-
Registros y mensajes de error de la consola
-
Eventos DevTools del Protocolo Chrome (CDP)
-
Eventos de red y solicitudes HTTP
Requisitos previos para la grabación de sesiones
Para habilitar la grabación de sesiones, necesita:
-
Un bucket de Amazon S3 para almacenar los datos de grabación
-
Una función de ejecución de IAM con permisos para escribir en su bucket de Amazon S3
-
Una herramienta de navegador personalizada configurada con la grabación habilitada
Configure la función de IAM para la grabación
Para habilitar la grabación de sesiones, necesita una función de ejecución de IAM con permisos para escribir los datos de grabación en Amazon S3 y registrar la actividad en. CloudWatch Para obtener instrucciones detalladas sobre cómo configurar los permisos, consulte Permisos.
La función de ejecución requiere permisos adicionales además de los permisos estándar del navegador:
{ "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-bucketSustitúyalo por el nombre real de su bucket de Amazon S3.
Paso 1: Crea una herramienta de navegador con grabación
Cree una herramienta de navegador personalizada con la grabación habilitada. Para obtener instrucciones detalladas sobre cómo crear herramientas de navegador, consulte Creación de un AgentCore navegador.
Al crear la herramienta de su navegador, asegúrese de:
-
Habilite la grabación de sesiones en la configuración
-
Especifique el bucket y el prefijo de Amazon S3 para almacenar las grabaciones
-
Utilice la función de ejecución de IAM del paso 1
Ejemplo de uso del SDK de 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/")
Paso 2: Usa el navegador con capacidad de grabación
Utilice su navegador con capacidad de grabación con cualquier marco de automatización. Todas las interacciones del navegador se registrarán automáticamente. Ejemplo de uso 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"])
Todas las interacciones durante esta sesión se registrarán automáticamente y se subirán a su bucket de Amazon S3 cuando finalice la sesión.
Paso 3: Supervise las sesiones en directo y reproduzca las grabaciones
La AWS consola proporciona herramientas integrales tanto para la supervisión en tiempo real como para el análisis de las sesiones grabadas.
Monitorización con visualización en directo
Supervise las sesiones del navegador en tiempo real e interactúe con las sesiones activas:
Para acceder a la vista en directo en la consola
-
Abra la AgentCore consola de Amazon Bedrock y navegue hasta las herramientas Built-in
-
Seleccione la herramienta de navegación de la lista (por ejemplo,
MyRecordingBrowser) -
En la sección Sesiones del navegador, busque una sesión activa con el estado Listo o En curso
-
En la columna Visualización/grabación en directo, haga clic en la URL proporcionada para «Ver sesión en directo»
-
La vista en directo se abre en una nueva ventana del navegador y muestra la sesión del navegador en tiempo real
La interfaz de visualización en directo proporciona:
-
Real-time transmisión de vídeo de la sesión del navegador
-
Controles interactivos para asumir o liberar el control de la automatización
-
Indicadores del estado de la sesión e información de conexión
-
Posibilidad de interactuar directamente con el navegador cuando el control está activado
Reproducción y análisis de sesiones
Acceda a las grabaciones y análisis detallados de las sesiones a través de la interfaz de reproducción de la consola:
Para acceder a la reproducción de sesiones en la consola
-
Navegue hasta la herramienta de su navegador y seleccione una sesión completada con el estado Terminada
-
Haga clic en Ver grabación para la sesión que desee analizar
-
Aparece la página de reproducción de la sesión con herramientas de análisis completas
Funciones de análisis de sesiones
La consola proporciona varias herramientas de análisis:
-
Reproductor de vídeo: reproducción interactiva con depurador de línea temporal para la navegación
-
Navegación de páginas: panel que muestra todas las páginas visitadas con rangos de tiempo
-
Acciones del usuario: todas las interacciones del usuario con marcas de tiempo, métodos y detalles
-
DOM de página: estructura DOM y contenido HTML para cada página
-
Registros de la consola: salida de la consola del navegador, errores y mensajes de registro
-
Eventos CDP: eventos DevTools del protocolo Chrome con parámetros y resultados
-
Eventos de red: solicitudes HTTP, respuestas, códigos de estado y temporización
Navega por las grabaciones
Usa estos métodos para navegar por las grabaciones:
-
Haga clic en las páginas del panel Páginas para ir a momentos específicos
-
Haga clic en las acciones del usuario para ver en qué lugar de la cronología se produjeron
-
Usa el depurador de la cronología del vídeo para una navegación precisa
-
Selecciona Ver enlaces de grabación en tablas de acciones para ir directamente a interacciones específicas
Paso 4: Accede a las grabaciones mediante programación
Acceda a la visualización en directo y a la información de grabación mediante programación mediante el AgentCore SDK y las API de Amazon Bedrock para una integración personalizada y un análisis automatizado.
Acceso programático con visualización en directo
Conéctese a las sesiones de navegador en vivo mediante el cliente del navegador y el servidor del visor:
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()
Acceso a la grabación programática
Acceda a los datos de grabación directamente desde Amazon S3 para flujos de trabajo de análisis personalizados:
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()
Estructura de datos de grabación:
s3://your-recording-bucket/browser-recordings/ └── session-id/ ├── batch_1.ndjson.gz ├── batch_2.ndjson.gz └── batch_3.ndjson.gz
Cada sesión crea una carpeta con el identificador de la sesión y los datos de grabación se cargan por partes a medida que avanza la sesión.
Ejemplos programáticos de reproducción de sesiones
Para casos de uso avanzados, puede crear visores de reproducción de sesiones personalizados e integrar los datos de grabación en sus propios flujos de trabajo de análisis.
Los siguientes GitHub ejemplos muestran un visor de reproducción de sesiones independiente y cómo es la experiencia completa del navegador cuando se utiliza la función de reproducción de sesiones del navegador.
Para ver más ejemplos, consulte los ejemplos AgentCore del navegador
El visor de reproducción de sesiones independiente es una herramienta independiente para ver las sesiones de navegador grabadas directamente desde Amazon S3 sin necesidad de crear un navegador nuevo.
-
Conéctese directamente a S3 para ver las grabaciones
-
Vea cualquier grabación anterior especificando su ID de sesión
-
Muestra mensajes de error cuando faltan artefactos en S3, con las URL de reproducción de la consola específicas del ID de sesión
-
Interfaz de reproducción de vídeo interactiva con navegación por la línea temporal
-
Marcadores de acción en la cronología que muestran los formularios rellenados, los clics y los eventos de navegación
-
Tabla de observabilidad que muestra las páginas recorridas con la duración y los detalles de la URL
-
Eventos de consola, registros de CDP y registros de red para cada interacción entre páginas
-
El seguimiento de la duración de la sesión está integrado a nivel de página
-
Real-time verificación de acciones con correlación visual entre los datos de vídeo y los de acción
# 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
Como referencia, consulte Visor de reproducción de sesiones independiente
Una herramienta completa para crear sesiones de navegador con capacidades de grabación y funciones avanzadas de reproducción.
-
Cree sesiones de navegador con grabación automática en S3
-
Vista en directo con control interactivo (take/release)
-
Ajuste la resolución de la pantalla sobre la marcha
-
Grabación automática de sesiones en S3
-
Visor de reproducción de sesiones integrado con interfaz de reproductor de vídeo
-
Depuración de la línea temporal con seguimiento preciso de la ubicación de las acciones
-
Page-by-page análisis con cronología de navegación y copia de URL
-
Cumplimentación de formularios: acción de verificación con detalles de la ubicación de los clics
-
El seguimiento de la duración de la sesión está integrado a nivel de página
-
Real-time verificación de acciones con correlación visual entre los datos de vídeo y los de acción
# View the latest recording in a bucket python -m live_view_sessionreplay.browser_interactive_session
Como referencia, consulte Sesión de navegador interactiva en GitHub