使用浏览器配置文件
浏览器配置文件使您能够在多个浏览器会话中保留和重复使用浏览器配置文件数据。浏览器配置文件存储会话信息,包括 Cookie 和本地存储。
例如,您可以在浏览器会话中对网站进行一次身份验证,然后将配置文件数据保存到浏览器配置文件资源中。当您使用已保存的配置文件启动新的浏览器会话时,您的身份验证状态将保留,并且您仍保持登录状态。这使代理无需手动干预即可在经过身份验证的网站上执行任务。
概述
Amazon Bedrock 中的浏览器配置文件 AgentCore 的工作原理如下:
-
创建将在浏览器会话中重复使用的浏览器配置文件资源
-
启动浏览器会话并执行填充 Cookie 和本地存储空间的操作(例如登录网站或将商品放入购物车)
-
将当前浏览器会话中的配置文件数据保存到浏览器配置文件资源
-
使用保存的配置文件启动新的浏览器会话以恢复之前的状态
先决条件
在使用浏览器配置文件之前,请确保:
-
已完成浏览器常规先决条件
-
管理个人资料资源的 IAM 权限。将以下权限添加到您的 IAM 策略中:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BedrockAgentCoreBrowserProfileManagementAccess",
"Effect": "Allow",
"Action": [
"bedrock-agentcore:CreateBrowserProfile",
"bedrock-agentcore:ListBrowserProfiles",
"bedrock-agentcore:GetBrowserProfile",
"bedrock-agentcore:DeleteBrowserProfile"
],
"Resource": "arn:aws:bedrock-agentcore:<Region>:<account_id>:browser-profile/*"
}
]
}
-
用于保存和加载配置文件的 IAM 权限。将以下权限添加到您的 IAM 策略中:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BedrockAgentCoreBrowserProfileUsageAccess",
"Effect": "Allow",
"Action": [
"bedrock-agentcore:StartBrowserSession",
"bedrock-agentcore:SaveBrowserSessionProfile"
],
"Resource": [
"arn:aws:bedrock-agentcore:<Region>:<account_id>:browser-profile/*",
"arn:aws:bedrock-agentcore:<Region>:<account_id>:browser-custom/*",
"arn:aws:bedrock-agentcore:<Region>:<account_id>:browser/*"
]
}
]
}
浏览器配置文件入门
本节将引导您创建浏览器配置文件、将会话数据保存到浏览器配置文件以及在后续会话中重复使用该配置文件。
步骤 1:创建浏览器配置文件
创建浏览器配置文件资源来存储会话数据。
例
- AWS CLI
-
-
要使用 AWS CLI 创建浏览器配置文件,请执行以下操作:
aws bedrock-agentcore-control create-browser-profile \
--region <Region> \
--name "profile_demo" \
--description "example profile"
- Boto3
-
-
要使用适用于 Python 的 AWS SDK (Boto3) 创建浏览器配置文件,请执行以下操作:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore-control', region_name=region)
response = client.create_browser_profile(
name="profile_demo",
description="example profile"
)
profile_id = response['profileId']
print(f"Created profile: {profile_id}")
- API
-
-
要使用 API 创建浏览器配置文件,请执行以下操作:
awscurl -X PUT \
"https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles" \
-H "Content-Type: application/json" \
--service bedrock-agentcore-control \
--region <Region> \
-d '{
"name": "profile_demo",
"description": "example profile",
"clientToken": "FC21DD1F-FA7B-40EC-8D3A-12E029A1BFF3"
}'
步骤 2:启动浏览器会话并执行操作
启动浏览器会话并执行诸如登录网站之类的操作。将捕获会话状态,包括 Cookie 和本地存储。
例
- AWS CLI
-
-
要使用 AWS CLI 启动浏览器会话,请执行以下操作:
aws bedrock-agentcore start-browser-session \
--region <Region> \
--browser-identifier "aws.browser.v1" \
--name "my-session" \
--session-timeout-seconds 3600
使用返回的会话 ID 与浏览器交互并执行所需的操作(例如,登录网站)。
- Boto3
-
-
要使用 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",
sessionTimeoutSeconds=3600
)
session_id = response['sessionId']
print(f"Session ID: {session_id}")
# Use the session to perform actions (e.g., login to a website)
# ... your browser automation code here ...
- API
-
-
要使用 API 启动浏览器会话,请执行以下操作:
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",
"sessionTimeoutSeconds": 3600
}'
步骤 3:将会话保存到个人资料
在浏览器会话中执行操作后,将当前状态保存到您的浏览器配置文件中。这会捕获 Cookie、本地存储和其他会话数据。
例
- AWS CLI
-
-
要使用 AWS CLI 将浏览器会话保存到配置文件中,请执行以下操作:
aws bedrock-agentcore save-browser-session-profile \
--region <Region> \
--profile-identifier "<ProfileId>" \
--browser-identifier "aws.browser.v1" \
--session-id "<SessionId>"
- Boto3
-
-
要使用 Boto3 将浏览器会话保存到配置文件中,请执行以下操作:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore', region_name=region)
response = client.save_browser_session_profile(
profileIdentifier=profile_id, # From Step 1
browserIdentifier="aws.browser.v1",
sessionId=session_id # From Step 2
)
print(f"Profile saved successfully")
- API
-
-
要使用 API 将浏览器会话保存到配置文件中,请执行以下操作:
awscurl -X PUT \
"https://bedrock-agentcore.<Region>.amazonaws.com/browser-profiles/<ProfileId>/save" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--service bedrock-agentcore \
--region <Region> \
-d '{
"browserIdentifier": "aws.browser.v1",
"sessionId": "<SessionId>",
"clientToken": "52866F95-4468-4B6C-920C-09A00D36F04E"
}'
第 4 步:使用个人资料开始新会话
使用保存的配置文件启动新的浏览器会话。会话将使用已保存的状态进行初始化,包括身份验证 Cookie 和本地存储。
例
- AWS CLI
-
-
要使用 AWS CLI 使用配置文件启动浏览器会话,请执行以下操作:
aws bedrock-agentcore start-browser-session \
--region <Region> \
--browser-identifier "aws.browser.v1" \
--name "session-with-profile" \
--session-timeout-seconds 3600 \
--profile-configuration '{
"profileIdentifier":"<ProfileId>"
}'
- Boto3
-
-
要使用 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="session-with-profile",
sessionTimeoutSeconds=3600,
profileConfiguration={
"profileIdentifier": profile_id # From Step 1
}
)
new_session_id = response['sessionId']
print(f"New session started with profile: {new_session_id}")
print("Session is now authenticated with saved cookies and state")
- API
-
-
要使用 API 使用配置文件启动浏览器会话,请执行以下操作:
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": "session-with-profile",
"sessionTimeoutSeconds": 3600,
"profileConfiguration": {
"profileIdentifier": "<ProfileId>"
},
"clientToken": "8FAAFF7F-7803-4C40-A7BD-139C6D008646"
}'
浏览器配置文件操作
本节介绍用于管理浏览器配置文件的其他操作。
列出浏览器配置文件
您可以列出您账户中的所有浏览器配置文件。
例
- AWS CLI
-
-
要使用 AWS CLI 列出浏览器配置文件,请执行以下操作:
aws bedrock-agentcore-control list-browser-profiles \
--region <Region>
- Boto3
-
-
要使用 Boto3 列出浏览器配置文件,请执行以下操作:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore-control', region_name=region)
response = client.list_browser_profiles()
for profile in response.get('items', []):
print(f"Profile ID: {profile['profileId']}")
print(f"Name: {profile['name']}")
print(f"Status: {profile['status']}")
print("---")
- API
-
-
要使用 API 列出浏览器配置文件,请执行以下操作:
awscurl -X POST \
"https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles/list" \
-H "Content-Type: application/json" \
--service bedrock-agentcore-control \
--region <Region>
获取浏览器配置文件详细信息
您可以检索有关特定浏览器配置文件的详细信息。
例
- AWS CLI
-
-
要使用 AWS CLI 获取浏览器配置文件详情,请执行以下操作:
aws bedrock-agentcore-control get-browser-profile \
--region <Region> \
--profile-id "<ProfileId>"
- Boto3
-
-
要使用 Boto3 获取浏览器配置文件详细信息,请执行以下操作:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore-control', region_name=region)
response = client.get_browser_profile(
profileId=profile_id
)
print(f"Profile ID: {response['profileId']}")
print(f"Name: {response['name']}")
print(f"Description: {response.get('description', 'N/A')}")
print(f"Status: {response['status']}")
print(f"Created: {response['createdAt']}")
- API
-
-
要使用 API 获取浏览器配置文件详细信息,请执行以下操作:
awscurl -X GET \
"https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles/<ProfileId>" \
-H "Content-Type: application/json" \
--service bedrock-agentcore-control \
--region <Region>
删除浏览器配置文件
当您不再需要浏览器配置文件时,可以将其删除以释放资源。
例
- AWS CLI
-
-
要使用 AWS CLI 删除浏览器配置文件,请执行以下操作:
aws bedrock-agentcore-control delete-browser-profile \
--region <Region> \
--profile-id "<ProfileId>"
- Boto3
-
-
要使用 Boto3 删除浏览器配置文件,请执行以下操作:
import boto3
region = "us-west-2"
client = boto3.client('bedrock-agentcore-control', region_name=region)
response = client.delete_browser_profile(
profileId=profile_id
)
print(f"Profile deleted successfully")
- API
-
-
要使用 API 删除浏览器配置文件,请执行以下操作:
awscurl -X DELETE \
"https://bedrock-agentcore-control.<Region>.amazonaws.com/browser-profiles/<ProfileId>" \
-H "Content-Type: application/json" \
--service bedrock-agentcore-control \
--region <Region>
使用案例
浏览器配置文件可用于:
-
永久身份验证:在多个浏览器调用之间保持登录会话,而无需每次都重新进行身份验证
-
Multi-step 工作流程:执行跨多个会话的复杂工作流程,同时保留状态和上下文(在 Cookie 或本地存储中)
-
自动任务:让 AI 代理无需人工干预即可在经过身份验证的网站上执行任务
注意事项
-
配置文件持久性:当您明确调用保存操作时,将保存配置文件数据。请确保在终止会话之前保存配置文件以保持状态。
-
会话隔离:使用配置文件的每个浏览器会话独立运行。在一个会话中所做的更改在其他并发会话中不可见。
-
配置文件加载:保存的配置文件更改仅适用于新会话。活动会话继续使用启动时的配置文件状态,并且不会反映会话开始后对配置文件所做的更新。
-
安全:浏览器配置文件可能包含敏感数据,例如身份验证 Cookie。确保制定了适当的 IAM 政策,以限制对配置文件资源的访问。
-
配置文件更新:将会话保存到配置文件时,它会覆盖之前的配置文件数据。请仔细考虑您的工作流程,以免丢失重要的状态信息。
-
Cookie 过期时间:Cookie 有自己的过期时间,由网站设定。浏览器配置文件会保留 Cookie,但浏览器会根据过期日期自动删除过期的 Cookie。