View a markdown version of this page

Rekaman Sesi dan Putar Ulang - Batuan Dasar Amazon AgentCore

Rekaman Sesi dan Putar Ulang

Perekaman dan pemutaran ulang sesi browser memberikan pengamatan komprehensif untuk tujuan debugging, audit, atau pelatihan. Saat Anda membuat browser dengan perekaman sesi diaktifkan, Amazon Bedrock AgentCore secara otomatis menangkap interaksi browser dan menyimpannya di bucket Amazon S3 yang Anda tentukan untuk analisis selanjutnya.

Pemutaran ulang sesi menangkap data interaksi browser komprehensif yang memungkinkan Anda melihat tayangan ulang dan memahami tindakan yang terjadi selama sesi browser. Fungsionalitas ini membantu Anda mengatasi kesalahan dan meningkatkan pemanggilan future dengan memberikan wawasan terperinci tentang perilaku browser.

Informasi yang dikumpulkan selama pemutaran ulang sesi meliputi:

  • Perubahan dan mutasi DOM sesi

  • Tindakan pengguna termasuk klik, gulir, dan interaksi formulir

  • Log konsol dan pesan kesalahan

  • Acara Chrome DevTools Protocol (CDP)

  • Acara jaringan dan permintaan HTTP

Prasyarat untuk perekaman sesi

Untuk mengaktifkan perekaman sesi, Anda perlu:

  • Bucket Amazon S3 untuk menyimpan data rekaman

  • Peran eksekusi IAM dengan izin untuk menulis ke bucket Amazon S3 Anda

  • Alat browser khusus yang dikonfigurasi dengan perekaman diaktifkan

Konfigurasikan peran IAM untuk merekam

Untuk mengaktifkan perekaman sesi, Anda memerlukan peran eksekusi IAM dengan izin untuk menulis data rekaman ke Amazon S3 dan aktivitas log ke. CloudWatch Untuk petunjuk mendetail tentang pengaturan izin, lihat Izin.

Peran eksekusi memerlukan izin tambahan di luar izin browser standar:

{ "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": "*" }

Ganti your-recording-bucket dengan nama bucket Amazon S3 Anda yang sebenarnya.

Langkah 1: Buat alat browser dengan merekam

Buat alat browser khusus dengan perekaman diaktifkan. Untuk petunjuk mendetail tentang cara membuat alat browser, lihat Membuat AgentCore Browser.

Saat membuat alat browser Anda, pastikan Anda:

  • Aktifkan perekaman sesi dalam konfigurasi

  • Tentukan bucket dan awalan Amazon S3 Anda untuk menyimpan rekaman

  • Gunakan peran eksekusi IAM dari Langkah 1

Contoh menggunakan Python SDK:

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/")

Langkah 2: Gunakan browser yang mendukung perekaman

Gunakan browser Anda yang mendukung perekaman dengan kerangka kerja otomatisasi apa pun. Semua interaksi browser akan direkam secara otomatis. Contoh menggunakan 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"])

Semua interaksi selama sesi ini akan direkam dan diunggah secara otomatis ke bucket Amazon S3 Anda saat sesi berakhir.

Langkah 3: Pantau sesi langsung dan putar ulang rekaman

AWS Konsol menyediakan alat komprehensif untuk pemantauan waktu nyata dan analisis sesi yang direkam.

Pemantauan tampilan langsung

Pantau sesi browser secara real-time dan berinteraksi dengan sesi aktif:

Untuk mengakses tampilan langsung di konsol

  1. Buka AgentCore konsol Amazon Bedrock dan navigasikan ke alat Built-in

  2. Pilih alat browser Anda dari daftar (misalnya,MyRecordingBrowser)

  3. Di bagian sesi Browser, cari sesi aktif dengan status Siap atau Sedang berlangsung

  4. Di kolom Live view/recording, klik URL “Lihat sesi langsung” yang disediakan

  5. Tampilan langsung terbuka di jendela browser baru, menampilkan sesi browser waktu nyata

Antarmuka tampilan langsung menyediakan:

  • Real-time aliran video dari sesi browser

  • Kontrol interaktif untuk mengambil alih atau melepaskan kontrol dari otomatisasi

  • Indikator status sesi dan informasi koneksi

  • Kemampuan untuk berinteraksi langsung dengan browser saat kontrol diaktifkan

Pemutaran ulang dan analisis sesi

Akses rekaman dan analisis sesi terperinci melalui antarmuka pemutaran ulang konsol:

Untuk mengakses pemutaran ulang sesi di konsol

  1. Arahkan ke alat browser Anda dan pilih sesi yang sudah selesai dengan status Terminated

  2. Klik Lihat Rekaman untuk sesi yang ingin Anda analisis

  3. Halaman replay sesi ditampilkan dengan alat analisis yang komprehensif

Fitur analisis sesi

Konsol menyediakan beberapa alat analisis:

  • Pemutar Video: Pemutaran interaktif dengan scrubber timeline untuk navigasi

  • Navigasi Halaman: Panel menampilkan semua halaman yang dikunjungi dengan rentang waktu

  • Tindakan Pengguna: Semua interaksi pengguna dengan stempel waktu, metode, dan detail

  • Page DOM: struktur DOM dan konten HTML untuk setiap halaman

  • Console Logs: Output konsol browser, kesalahan, dan pesan log

  • Acara CDP: Acara DevTools Protokol Chrome dengan parameter dan hasil

  • Acara Jaringan: Permintaan HTTP, tanggapan, kode status, dan waktu

Navigasikan rekaman

Gunakan metode ini untuk menavigasi rekaman:

  • Klik pada halaman di panel Pages untuk melompat ke momen tertentu

  • Klik pada tindakan pengguna untuk melihat di mana mereka terjadi di timeline

  • Gunakan scrubber timeline video untuk navigasi yang tepat

  • Pilih Lihat tautan perekaman di tabel tindakan untuk beralih ke interaksi tertentu

Langkah 4: Akses rekaman secara terprogram

Akses tampilan langsung dan rekaman insight secara terprogram menggunakan Amazon Bedrock AgentCore SDK dan API untuk integrasi kustom dan analisis otomatis.

Akses tampilan langsung terprogram

Connect to live browser session menggunakan browser client dan viewer server:

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()

Akses perekaman terprogram

Akses data perekaman langsung dari Amazon S3 untuk alur kerja analisis kustom:

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()

Merekam struktur data:

s3://your-recording-bucket/browser-recordings/ └── session-id/ ├── batch_1.ndjson.gz ├── batch_2.ndjson.gz └── batch_3.ndjson.gz

Setiap sesi membuat folder dengan ID sesi, dan data rekaman diunggah dalam potongan saat sesi berlangsung.

Contoh program pemutaran ulang sesi

Untuk kasus penggunaan lanjutan, Anda dapat membuat pemirsa pemutaran ulang sesi kustom dan mengintegrasikan data rekaman ke dalam alur kerja analisis Anda sendiri.

GitHub Contoh berikut menunjukkan penampil replay sesi mandiri dan seperti apa pengalaman browser lengkap saat menggunakan fitur pemutaran ulang sesi browser.

Untuk contoh tambahan, lihat contoh AgentCore Browser pada GitHub.

Penampil ulang sesi mandiri adalah alat terpisah untuk melihat sesi browser yang direkam langsung dari Amazon S3 tanpa membuat browser baru.

  • Connect langsung ke S3 untuk melihat rekaman

  • Lihat rekaman sebelumnya dengan menentukan ID sesinya

  • Menampilkan pesan kesalahan saat artefak hilang dari S3, dengan URL pemutaran ulang konsol khusus untuk ID sesi

  • Antarmuka pemutaran video interaktif dengan navigasi garis waktu

  • Penanda tindakan pada timeline yang menampilkan pengisian formulir, klik, dan peristiwa navigasi

  • Tabel observabilitas menampilkan halaman yang dilalui dengan durasi dan detail URL

  • Acara konsol, log CDP, dan log jaringan untuk setiap interaksi halaman

  • Pelacakan durasi sesi terintegrasi di tingkat halaman

  • Real-time verifikasi tindakan dengan korelasi visual antara video dan data tindakan

# 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

Untuk referensi, lihat Penampil ulang sesi mandiri di. GitHub

Alat komprehensif untuk membuat sesi browser dengan kemampuan merekam dan fitur replay lanjutan.

  • Buat sesi browser dengan perekaman otomatis ke S3

  • Tampilan langsung dengan kontrol interaktif (take/release)

  • Sesuaikan resolusi tampilan dengan cepat

  • Perekaman sesi otomatis ke S3

  • Penampil replay sesi terintegrasi dengan antarmuka pemutar video

  • Penggosokan garis waktu dengan pelacakan lokasi tindakan yang tepat

  • Page-by-page analisis dengan garis waktu navigasi dan penyalinan URL

  • Verifikasi tindakan pengisian formulir dengan detail lokasi klik

  • Pelacakan durasi sesi terintegrasi di tingkat halaman

  • Real-time verifikasi tindakan dengan korelasi visual antara video dan data tindakan

# View the latest recording in a bucket python -m live_view_sessionreplay.browser_interactive_session

Untuk referensi, lihat Sesi browser interaktif aktif GitHub.