View a markdown version of this page

Menggunakan ekstensi browser - Batuan Dasar Amazon AgentCore

Menggunakan ekstensi browser

Ekstensi Browser memungkinkan Anda memasang ekstensi khusus ke sesi browser pada waktu pembuatan sesi. Ini memungkinkan Anda untuk menyesuaikan perilaku browser dengan ekstensi Anda sendiri untuk tugas otomatisasi, pengikisan web, pengujian, dan banyak lagi.

Gambaran umum

Ekstensi Browser di Amazon Bedrock AgentCore berfungsi sebagai berikut:

  1. Anda memberikan daftar file ZIP ekstensi browser yang disimpan di bucket Amazon S3 Anda sendiri

  2. Layanan memvalidasi bahwa Anda memiliki akses ke objek Amazon S3 ini menggunakan kredensil Anda

  3. Selama startup sesi browser, ekstensi diunduh dari bucket Amazon S3 Anda dan dipasang ke sesi browser

Prasyarat

Sebelum menggunakan ekstensi browser, pastikan Anda memiliki:

  • Menyelesaikan Prasyarat Browser umum

  • Bucket Amazon S3 Amazon untuk menyimpan file ZIP ekstensi Anda

  • Izin IAM untuk mengakses bucket Amazon S3 yang berisi ekstensi Anda. Tambahkan izin berikut ke kebijakan IAM Anda:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ExtensionS3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::<S3Bucket>/<path_to_extensions>/*" ] } ] }
    catatan

    Bucket Amazon S3 harus berada di AWS akun yang sama dengan sesi browser. Ekstensi memiliki batas ukuran file 10 MB dan maksimum 10 ekstensi per sesi.

Mempersiapkan File Ekstensi

Untuk menyiapkan ekstensi untuk digunakan dengan Alat Browser:

  1. Buat Ekstensi Chrome

    Ekstensi Anda harus mengikuti format ekstensi Chromium standar dan mematuhi pedoman ekstensi Chromium. Setiap ekstensi harus menyertakan manifest.json file yang valid.

  2. Buat File ZIP

    Zip isi direktori ekstensi (bukan folder induk):

    cd my-extension zip -r ../my-extension.zip.
  3. Unggah ke S3

    Unggah file ZIP ke bucket Amazon S3 Anda:

    aws s3 cp my-extension.zip s3://my-extensions-bucket/extensions/my-extension.zip

Membuat sesi browser dengan ekstensi

Anda dapat membuat sesi browser dengan ekstensi menggunakan AWS CLI, SDK, atau API.

contoh
AWS CLI
  1. Untuk memulai sesi browser dengan ekstensi menggunakan AWS CLI:

    aws bedrock-agentcore start-browser-session \ --region <Region> \ --browser-identifier "aws.browser.v1" \ --name "my-session-with-extensions" \ --session-timeout-seconds 1800 \ --extensions '[ { "location": { "s3": { "bucket": "my-extensions-bucket", "prefix": "extensions/my-extension.zip" } } } ]'
Boto3
  1. Untuk memulai sesi browser dengan ekstensi menggunakan AWS SDK for Python (Boto3):

    import boto3 region = "us-west-2" client = boto3.client('bedrock-agentcore', region_name=region) response = client.start_browser_session( browserIdentifier="aws.browser.v1", name="my-session-with-extensions", sessionTimeoutSeconds=1800, viewPort={ 'height': 1080, 'width': 1920 }, extensions=[ { "location": { "s3": { "bucket": "my-extensions-bucket", "prefix": "extensions/my-extension.zip" } } }, { "location": { "s3": { "bucket": "my-extensions-bucket", "prefix": "extensions/another-extension.zip", "versionId": "abc123" # Optional - for versioned S3 buckets } } } ] ) print(f"Session ID: {response['sessionId']}") print(f"Status: {response['status']}") print(f"Automation Stream: {response['streams']['automationStream']['streamEndpoint']}")
API
  1. Untuk memulai sesi browser dengan ekstensi menggunakan API:

    # Using awscurl awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/start" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "name": "my-session-with-extensions", "sessionTimeoutSeconds": 1800, "viewPort": { "height": 1080, "width": 1920 }, "extensions": [ { "location": { "s3": { "bucket": "my-extensions-bucket", "prefix": "extensions/my-extension.zip" } } }, { "location": { "s3": { "bucket": "my-extensions-bucket", "prefix": "extensions/another-extension.zip" } } } ] }'