ブラウザ拡張機能の使用
Browser Extensions を使用すると、セッションの作成時にカスタム拡張機能をブラウザセッションにインストールできます。これにより、自動化タスク、ウェブスクレイピング、テストなどの独自の拡張機能を使用してブラウザの動作をカスタマイズできます。
概要
Amazon Bedrock AgentCore のブラウザ拡張機能は、次のように機能します。
-
独自の Amazon S3 バケットに保存されているブラウザ拡張 ZIP ファイルのリストを提供する
-
サービスは、認証情報を使用してこれらの Amazon S3 オブジェクトにアクセスできることを検証します。
-
ブラウザセッションの起動中に、拡張機能が Amazon S3 バケットからダウンロードされ、ブラウザセッションにインストールされます。
前提条件
ブラウザ拡張機能を使用する前に、以下を確認してください。
-
一般的なブラウザの前提条件を完了しました
-
拡張 ZIP ファイルを保存する Amazon S3 バケット
-
拡張機能を含む Amazon S3 バケットにアクセスするための IAM アクセス許可。IAM ポリシーに次のアクセス許可を追加します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ExtensionS3Access",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": [
"arn:aws:s3:::<S3Bucket>/<path_to_extensions>/*"
]
}
]
}
Amazon S3 バケットは、ブラウザセッションと同じ AWS アカウントにある必要があります。拡張機能には 10 MB のファイルサイズ制限があり、セッションごとに最大 10 個の拡張機能があります。
拡張ファイルの準備
Browser Tool で使用する拡張機能を準備するには:
-
Chrome 拡張機能を作成する
拡張機能は、標準の Chromium 拡張機能形式に従い、Chromium 拡張機能ガイドライン に従う必要があります。各拡張子には有効な manifest.json ファイルが含まれている必要があります。
-
ZIP ファイルを作成する
拡張ディレクトリの内容を圧縮します (親フォルダではありません)。
cd my-extension
zip -r ../my-extension.zip.
-
S3 へのアップロード
ZIP ファイルを Amazon S3 バケットにアップロードします。
aws s3 cp my-extension.zip s3://my-extensions-bucket/extensions/my-extension.zip
拡張機能を使用したブラウザセッションの作成
CLI、SDK、または API AWS を使用して、拡張機能を使用してブラウザセッションを作成できます。
例
- AWS CLI
-
-
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
-
-
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
-
-
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"
}
}
}
]
}'