View a markdown version of this page

Usando extensões do navegador - Amazon Bedrock AgentCore

Usando extensões do navegador

As extensões do navegador permitem que você instale extensões personalizadas nas sessões do navegador no momento da criação da sessão. Isso permite que você personalize o comportamento do navegador com suas próprias extensões para tarefas de automação, captura de dados na web, testes e muito mais.

Visão geral do

As extensões de navegador no Amazon Bedrock AgentCore funcionam da seguinte forma:

  1. Você fornece uma lista de arquivos ZIP de extensão de navegador armazenados em seus próprios buckets do Amazon S3

  2. O serviço valida que você tem acesso a esses objetos do Amazon S3 usando suas credenciais.

  3. Durante a inicialização da sessão do navegador, as extensões são baixadas do seu bucket Amazon S3 e instaladas na sessão do navegador

Pré-requisitos

Antes de usar as extensões do navegador, verifique se você tem:

  • Concluiu os pré-requisitos gerais do navegador

  • Um bucket Amazon Amazon S3 para armazenar seus arquivos ZIP de extensão

  • Permissões do IAM para acessar o bucket do Amazon S3 contendo suas extensões. Adicione as seguintes permissões à sua política do IAM:

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

    O bucket do Amazon S3 deve estar na mesma AWS conta da sessão do navegador. As extensões têm um limite de tamanho de arquivo de 10 MB e um máximo de 10 extensões por sessão.

Preparando arquivos de extensão

Para preparar uma extensão para uso com a Browser Tool:

  1. Crie uma extensão do Chrome

    Sua extensão deve seguir o formato de extensão padrão do Chromium e seguir as diretrizes de extensão do Chromium. Cada extensão deve incluir um manifest.json arquivo válido.

  2. Criar um arquivo ZIP

    Compacte o conteúdo do diretório de extensão (não a pasta principal):

    cd my-extension zip -r ../my-extension.zip.
  3. Carregar para o S3

    Faça o upload do arquivo ZIP para o seu bucket do Amazon S3:

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

Criando uma sessão do navegador com extensões

Você pode criar uma sessão de navegador com extensões usando a AWS CLI, o SDK ou a API.

exemplo
AWS CLI
  1. Para iniciar uma sessão do navegador com extensões usando a 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 uma sessão do navegador com extensões usando o 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 uma sessão do navegador com extensões usando a 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" } } } ] }'