Gravação e reprodução da sessão
A gravação e a reprodução da sessão do navegador fornecem uma observabilidade abrangente para fins de depuração, auditoria ou treinamento. Quando você cria um navegador com a gravação de sessão ativada, o Amazon Bedrock captura AgentCore automaticamente as interações do navegador e as armazena em seu bucket Amazon S3 especificado para análise posterior.
A repetição da sessão captura dados abrangentes de interação do navegador que permitem que você visualize as repetições e compreenda as ações que ocorreram durante as sessões do navegador. Essa funcionalidade ajuda você a resolver erros e melhorar futuras invocações, fornecendo informações detalhadas sobre o comportamento do navegador.
As informações coletadas durante a repetição da sessão incluem:
-
Alterações e mutações no DOM da sessão
-
Ações do usuário, incluindo cliques, rolagens e interações com formulários
-
Registros do console e mensagens de erro
-
Eventos do DevTools Protocolo Chrome (CDP)
-
Eventos de rede e solicitações HTTP
Pré-requisitos para gravação da sessão
Para ativar a gravação da sessão, você precisa:
-
Um bucket Amazon S3 para armazenar dados de gravação
-
Uma função de execução do IAM com permissões para gravar em seu bucket do Amazon S3
-
Uma ferramenta de navegador personalizada configurada com a gravação ativada
Configurar a função do IAM para gravação
Para habilitar a gravação da sessão, você precisa de uma função de execução do IAM com permissões para gravar dados de gravação no Amazon S3 e registrar atividades no. CloudWatch Para obter instruções detalhadas sobre como configurar permissões, consulte Permissões.
A função de execução exige permissões adicionais além das permissões padrão do 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-bucketSubstitua pelo nome real do bucket do Amazon S3.
Etapa 1: Crie uma ferramenta de navegador com gravação
Crie uma ferramenta de navegador personalizada com a gravação ativada. Para obter instruções detalhadas sobre como criar ferramentas de navegador, consulte Criação de um AgentCore navegador.
Ao criar sua ferramenta de navegador, certifique-se de:
-
Ativar a gravação da sessão na configuração
-
Especifique seu bucket e prefixo do Amazon S3 para armazenar gravações
-
Use a função de execução do IAM da Etapa 1
Exemplo usando o SDK do 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/")
Etapa 2: use o navegador habilitado para gravação
Use seu navegador habilitado para gravação com qualquer estrutura de automação. Todas as interações do navegador serão registradas automaticamente. Exemplo usando 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 as interações durante esta sessão serão automaticamente gravadas e enviadas para o seu bucket do Amazon S3 quando a sessão terminar.
Etapa 3: monitorar sessões ao vivo e reproduzir gravações
O AWS console fornece ferramentas abrangentes para monitoramento em tempo real e análise de sessões gravadas.
Monitoramento de visualização ao vivo
Monitore as sessões do navegador em tempo real e interaja com as sessões ativas:
Para acessar a visualização ao vivo no console
-
Abra o AgentCore console do Amazon Bedrock e navegue até as ferramentas Built-in
-
Selecione a ferramenta do seu navegador na lista (por exemplo,
MyRecordingBrowser) -
Na seção Sessões do navegador, localize uma sessão ativa com o status Pronto ou Em andamento
-
Na coluna Visualização ao vivo/gravação, clique no URL “Exibir sessão ao vivo” fornecido
-
A exibição ao vivo é aberta em uma nova janela do navegador, exibindo a sessão do navegador em tempo real
A interface de visualização ao vivo fornece:
-
Real-time stream de vídeo da sessão do navegador
-
Controles interativos para assumir ou liberar o controle da automação
-
Indicadores de status da sessão e informações de conexão
-
Capacidade de interagir diretamente com o navegador quando o controle está ativado
Repetição e análise da sessão
Acesse gravações e análises detalhadas da sessão por meio da interface de reprodução do console:
Para acessar a reprodução da sessão no console
-
Navegue até a ferramenta do seu navegador e selecione uma sessão concluída com o status Encerrado
-
Clique em Exibir gravação para a sessão que você deseja analisar
-
A página de reprodução da sessão é exibida com ferramentas de análise abrangentes
Recursos de análise de sessão
O console fornece várias ferramentas de análise:
-
Player de vídeo: reprodução interativa com depurador de linha do tempo para navegação
-
Navegação de páginas: painel mostrando todas as páginas visitadas com intervalos de tempo
-
Ações do usuário: todas as interações do usuário com registros de data e hora, métodos e detalhes
-
DOM da página: estrutura DOM e conteúdo HTML para cada página
-
Registros do console: saída do console do navegador, erros e mensagens de registro
-
Eventos CDP: eventos do DevTools protocolo Chrome com parâmetros e resultados
-
Eventos de rede: solicitações HTTP, respostas, códigos de status e tempo
Navegue pelas gravações
Use esses métodos para navegar pelas gravações:
-
Clique nas páginas do painel Páginas para ir para momentos específicos
-
Clique nas ações do usuário para ver onde elas ocorreram na linha do tempo
-
Use o purificador da linha do tempo do vídeo para uma navegação precisa
-
Escolha Exibir links de gravação em tabelas de ação para ir para interações específicas
Etapa 4: Acesse as gravações programaticamente
Acesse a visualização ao vivo e a gravação de insights de forma programática usando o AgentCore SDK e as APIs do Amazon Bedrock para integração personalizada e análise automatizada.
Acesso programático à visualização ao vivo
Conecte-se às sessões ao vivo do navegador usando o cliente do navegador e o servidor visualizador:
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()
Acesso programático à gravação
Acesse dados de gravação diretamente do Amazon S3 para fluxos de trabalho de análise 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()
Estrutura de dados de gravação:
s3://your-recording-bucket/browser-recordings/ └── session-id/ ├── batch_1.ndjson.gz ├── batch_2.ndjson.gz └── batch_3.ndjson.gz
Cada sessão cria uma pasta com o ID da sessão, e os dados de gravação são carregados em partes à medida que a sessão avança.
Exemplos programáticos de repetição de sessão
Para casos de uso avançados, você pode criar visualizadores de repetição de sessão personalizados e integrar dados de gravação em seus próprios fluxos de trabalho de análise.
Os GitHub exemplos a seguir mostram um visualizador de repetição de sessão independente e como é a experiência completa do navegador ao usar o recurso de repetição de sessão do navegador.
Para obter exemplos adicionais, consulte Exemplos de AgentCore navegadores em GitHub
O visualizador de reprodução de sessão independente é uma ferramenta separada para visualizar sessões gravadas do navegador diretamente do Amazon S3 sem criar um novo navegador.
-
Conecte-se diretamente ao S3 para ver as gravações
-
Visualize qualquer gravação anterior especificando sua ID de sessão
-
Exibir mensagens de erro quando os artefatos estão ausentes no S3, com URLs de reprodução do console específicos para o ID da sessão
-
Interface de reprodução de vídeo interativa com navegação na linha do tempo
-
Marcadores de ação na linha do tempo mostrando preenchimentos de formulários, cliques e eventos de navegação
-
Tabela de observabilidade exibindo páginas percorridas com detalhes de duração e URL
-
Eventos de console, registros de CDP e registros de rede para cada interação de página
-
Rastreamento da duração da sessão integrado no nível da página
-
Real-time verificação de ações com correlação visual entre dados de vídeo e ação
# 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
Para referência, consulte Visualizador de repetição de sessão independente
Uma ferramenta abrangente para criar sessões de navegador com recursos de gravação e recursos avançados de reprodução.
-
Crie sessões de navegador com gravação automática no S3
-
Visualização ao vivo com controle interativo (take/release)
-
Ajuste a resolução da tela em tempo real
-
Gravação automática da sessão no S3
-
Visualizador de reprodução de sessão integrado com interface de reprodutor de vídeo
-
Limpeza da linha do tempo com rastreamento preciso da localização da ação
-
Page-by-page análise com cronograma de navegação e cópia de URL
-
Verificação da ação de preenchimento do formulário com detalhes da localização do clique
-
Rastreamento da duração da sessão integrado no nível da página
-
Real-time verificação de ações com correlação visual entre dados de vídeo e ação
# View the latest recording in a bucket python -m live_view_sessionreplay.browser_interactive_session
Para referência, consulte Sessão interativa do navegador em GitHub