

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用浏览器配置文件
<a name="browser-profiles"></a>

浏览器配置文件使您能够在多个浏览器会话中保存和重复使用浏览器配置文件数据。浏览器配置文件存储会话信息，包括 cookie 和本地存储。

例如，您可以在浏览器会话中对网站进行一次身份验证，然后将配置文件数据保存到浏览器配置文件资源中。当您使用该保存的配置文件启动新的浏览器会话时，您的身份验证状态将保留，并且您保持登录状态。这使代理无需手动干预即可在经过身份验证的网站上执行任务。

## 概述
<a name="browser-profiles-overview"></a>

亚马逊 Bedrock 中的浏览器配置文件 AgentCore 的工作方式如下：

1. 创建将在浏览器会话中重复使用的浏览器配置文件资源

1. 启动浏览器会话并执行填充 cookie 和本地存储的操作（例如登录网站或将商品放入购物车）

1. 将当前浏览器会话中的配置文件数据保存到浏览器配置文件资源中

1. 使用保存的配置文件启动新的浏览器会话以恢复先前的状态

## 先决条件
<a name="browser-profiles-prerequisites"></a>

在使用浏览器配置文件之前，请确保您有：
+ 已完成常规浏览器[先决条件 ](browser-quickstart.md#browser-prerequisites) 
+ 管理配置文件资源的 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/*"
              ]
          }
      ]
  }
  ```

## 浏览器配置文件入门
<a name="browser-profiles-getting-started"></a>

本节将引导您创建浏览器配置文件、将会话数据保存到该配置文件以及在后续会话中重复使用该配置文件。

### 第 1 步：创建浏览器配置文件
<a name="browser-profiles-step1"></a>

创建浏览器配置文件资源来存储会话数据。

**Example**  

1. 要使用 Amazon CLI 创建浏览器配置文件，请执行以下操作：

   ```
   aws bedrock-agentcore-control create-browser-profile \
     --region <Region> \
     --name "profile_demo" \
     --description "example profile"
   ```

1. 要使用 Amazon 适用于 Python 的软件开发工具包 (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}")
   ```

1. 要使用 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：启动浏览器会话并执行操作
<a name="browser-profiles-step2"></a>

启动浏览器会话并执行诸如登录网站之类的操作。会话状态，包括 cookie 和本地存储，将被捕获。

**Example**  

1. 要使用 Amazon CLI 启动浏览器会话，请执行以下操作：

   ```
   aws bedrock-agentcore start-browser-session \
     --region <Region> \
     --browser-identifier "aws.browser.v1" \
     --name "my-session" \
     --session-timeout-seconds 3600
   ```

   使用返回的会话 ID 与浏览器进行交互并执行所需的操作（例如，登录网站）。

1. 要使用 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 ...
   ```

1. 要使用 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 步：将会话保存到配置文件中
<a name="browser-profiles-step3"></a>

在浏览器会话中执行操作后，将当前状态保存到浏览器配置文件中。这会捕获 cookie、本地存储和其他会话数据。

**Example**  

1. 要使用 Amazon CLI 将浏览器会话保存到配置文件中，请执行以下操作：

   ```
   aws bedrock-agentcore save-browser-session-profile \
     --region <Region> \
     --profile-identifier "<ProfileId>" \
     --browser-identifier "aws.browser.v1" \
     --session-id "<SessionId>"
   ```

1. 要使用 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")
   ```

1. 要使用 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 步：使用配置文件开始新会话
<a name="browser-profiles-step4"></a>

使用保存的配置文件启动新的浏览器会话。会话将使用保存的状态进行初始化，包括身份验证 Cookie 和本地存储。

**Example**  

1. 要使用 Amazon 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>"
     }'
   ```

1. 要使用 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")
   ```

1. 要使用 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"
     }'
   ```

## 浏览器配置文件操作
<a name="browser-profiles-operations"></a>

本节介绍管理浏览器配置文件的其他操作。

### 列出浏览器配置文件
<a name="browser-profiles-list"></a>

您可以列出账户中的所有浏览器配置文件。

**Example**  

1. 要使用 Amazon CLI 列出浏览器配置文件，请执行以下操作：

   ```
   aws bedrock-agentcore-control list-browser-profiles \
     --region <Region>
   ```

1. 要使用 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("---")
   ```

1. 要使用 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>
   ```

### 获取浏览器配置文件详细信息
<a name="browser-profiles-get"></a>

您可以检索有关特定浏览器配置文件的详细信息。

**Example**  

1. 要使用 Amazon CLI 获取浏览器配置文件详细信息，请执行以下操作：

   ```
   aws bedrock-agentcore-control get-browser-profile \
     --region <Region> \
     --profile-id "<ProfileId>"
   ```

1. 要使用 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']}")
   ```

1. 要使用 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>
   ```

### 删除浏览器配置文件
<a name="browser-profiles-delete"></a>

当您不再需要浏览器配置文件时，可以将其删除以释放资源。

**Example**  

1. 要使用 Amazon CLI 删除浏览器配置文件，请执行以下操作：

   ```
   aws bedrock-agentcore-control delete-browser-profile \
     --region <Region> \
     --profile-id "<ProfileId>"
   ```

1. 要使用 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")
   ```

1. 要使用 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>
   ```

## 使用案例
<a name="browser-profiles-use-cases"></a>

浏览器配置文件可用于：
+  **永久身份验证**：在多个浏览器调用中保持登录会话，无需每次都重新进行身份验证
+  **Multi-step 工作流程**：执行跨越多个会话的复杂工作流程，同时保留状态和上下文（在 cookie 或本地存储中）
+  **自动任务**：使 AI 代理无需手动干预即可在经过身份验证的网站上执行任务

## 注意事项
<a name="browser-profiles-considerations"></a>
+  **配置文件持久性**：当您明确调用保存操作时，将保存配置文件数据。确保在终止会话之前保存配置文件以保持状态。
+  **会话隔离**：使用配置文件的每个浏览器会话独立运行。在一个会话中所做的更改在其他并发会话中不可见。
+  **配置文件加载**：保存的配置文件更改仅适用于新会话。活动会话继续使用启动时的配置文件状态，不会反映会话启动后对配置文件所做的更新。
+  **安全性**：浏览器配置文件可能包含敏感数据，例如身份验证 Cookie。确保制定适当的 IAM 政策以限制对配置文件资源的访问。
+  **配置文件更新**：当您将会话保存到配置文件时，它会覆盖以前的配置文件数据。仔细考虑您的工作流程，以免丢失重要的状态信息。
+  **Cookie 到期**：Cookie 有自己的过期时间，由网站设置。浏览器配置文件会保留 Cookie，但过期的 Cookie 会根据其到期日期由浏览器自动删除。