View a markdown version of this page

Utilizzo delle estensioni del browser - Amazon Bedrock AgentCore

Utilizzo delle estensioni del browser

Le estensioni del browser consentono di installare estensioni personalizzate nelle sessioni del browser al momento della creazione della sessione. Ciò consente di personalizzare il comportamento del browser con le proprie estensioni per attività di automazione, web scraping, test e altro ancora.

Panoramica di

Le estensioni del browser in Amazon Bedrock AgentCore funzionano come segue:

  1. Fornisci un elenco di file ZIP con estensione del browser memorizzati nei tuoi bucket Amazon S3.

  2. Il servizio verifica che tu abbia accesso a questi oggetti Amazon S3 utilizzando le tue credenziali.

  3. Durante l'avvio della sessione del browser, le estensioni vengono scaricate dal bucket Amazon S3 e installate nella sessione del browser

Prerequisiti

Prima di utilizzare le estensioni del browser, assicurati di avere:

  • Sono stati completati i prerequisiti generali del browser

  • Un bucket Amazon Amazon S3 per archiviare i file ZIP delle estensioni

  • Autorizzazioni IAM per accedere al bucket Amazon S3 contenente le tue estensioni. Aggiungi le seguenti autorizzazioni alla tua policy IAM:

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

    Il bucket Amazon S3 deve trovarsi nello stesso AWS account della sessione del browser. Le estensioni hanno un limite di dimensione del file di 10 MB e un massimo di 10 estensioni per sessione.

Preparazione dei file di estensione

Per preparare un'estensione da utilizzare con Browser Tool:

  1. Crea un'estensione per Chrome

    L'estensione deve seguire il formato di estensione Chromium standard e rispettare le linee guida per l'estensione di Chromium. Ogni estensione deve includere un file valido. manifest.json

  2. Crea un file ZIP

    Comprimi il contenuto della directory dell'estensione (non la cartella principale):

    cd my-extension zip -r ../my-extension.zip.
  3. Carica su S3

    Carica il file ZIP nel tuo bucket Amazon S3:

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

Creazione di una sessione del browser con estensioni

Puoi creare una sessione del browser con estensioni utilizzando AWS CLI, SDK o API.

Esempio
AWS CLI
  1. Per avviare una sessione del browser con estensioni utilizzando la 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. Per avviare una sessione del browser con estensioni utilizzando l' 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. Per avviare una sessione del browser con estensioni utilizzando l'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" } } } ] }'