View a markdown version of this page

Uso de extensiones de navegador - Amazon Bedrock AgentCore

Uso de extensiones de navegador

Las extensiones de navegador le permiten instalar extensiones personalizadas en las sesiones del navegador en el momento de la creación de la sesión. Esto le permite personalizar el comportamiento del navegador con sus propias extensiones para tareas de automatización, rastreo web, pruebas y mucho más.

Descripción general de

Las extensiones de navegador en Amazon Bedrock AgentCore funcionan de la siguiente manera:

  1. Usted proporciona una lista de los archivos ZIP de extensiones de navegador almacenados en sus propios buckets de Amazon S3

  2. El servicio valida que tiene acceso a estos objetos de Amazon S3 con sus credenciales

  3. Durante el inicio de la sesión del navegador, las extensiones se descargan del bucket de Amazon S3 y se instalan en la sesión del navegador

Requisitos previos

Antes de usar las extensiones del navegador, asegúrese de tener:

  • Ha completado los requisitos previos generales del navegador

  • Un bucket de Amazon S3 para almacenar sus archivos ZIP de extensión

  • Permisos de IAM para acceder al bucket de Amazon S3 que contiene sus extensiones. Añada los siguientes permisos a su política de IAM:

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

    El bucket de Amazon S3 debe estar en la misma AWS cuenta que la sesión del navegador. Las extensiones tienen un límite de tamaño de archivo de 10 MB y un máximo de 10 extensiones por sesión.

Preparación de los archivos de extensión

Para preparar una extensión para utilizarla con la herramienta del navegador:

  1. Crea una extensión de Chrome

    Tu extensión debe seguir el formato de extensión estándar de Chromium y cumplir con las pautas de extensión de Chromium. Cada extensión debe incluir un manifest.json archivo válido.

  2. Cree un archivo ZIP

    Comprima el contenido del directorio de extensiones (no la carpeta principal):

    cd my-extension zip -r ../my-extension.zip.
  3. Cargue en S3

    Sube el archivo ZIP a tu bucket de Amazon S3:

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

Crear una sesión de navegador con extensiones

Puede crear una sesión de navegador con extensiones mediante la AWS CLI, el SDK o la API.

ejemplo
AWS CLI
  1. Para iniciar una sesión de navegador con extensiones mediante 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. Para iniciar una sesión de navegador con extensiones mediante el AWS SDK para 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. Para iniciar una sesión de navegador con extensiones mediante la 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" } } } ] }'