

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

# 浏览已批准的记录
<a name="registry-browse-records"></a>

**迁移现已开放**  
 Amazon 代理注册表已在新`agent-registry`命名空间下启动。2026 年 10 月 30 日将停止对公共预览版`bedrock-agentcore`命名空间的支持。有关迁移说明，请参阅[注册表迁移综合指南](registry-faq.md)。

作为消费者，您可以使用两个数据平面 API 浏览注册表中已批准的记录目录，`ListDiscoverableRegistryRecords`用于分页列表和`BatchGetDiscoverableRegistryRecord`按记录 ID 批量检索全记录内容。这两个 API 仅在`agent-registry`命名空间下可用，并且仅返回最新修订版本状态为 “已**批准**” 的记录。不返回处于 “**草稿**”、“**待批准**”、“已**拒绝**” 或 “**已弃用**” 状态的记录。要使用自然语言查询来搜索记录，请改用`SearchDiscoverableRegistryRecords`。请参阅[搜索注册表记录](registry-search-records.md)。

**注意**  
 `ListDiscoverableRegistryRecords``BatchGetDiscoverableRegistryRecord`并且仅在`agent-registry`命名空间下可用。在`bedrock-agentcore`命名空间下创建的注册表不会公开这些 API；使用`SearchDiscoverableRegistryRecords`。

## 列出已批准的记录
<a name="registry-browse-list"></a>

用于`ListDiscoverableRegistryRecords`返回注册表中每条已批准记录的分页摘要。摘要不包括记录的描述符，`BatchGetDiscoverableRegistryRecord`用于在确定所需记录后获取完整的描述符内容。

### 请求参数
<a name="registry-browse-list-parameters"></a>
+  Registr@@ **yID**（必填，路径）：要列出的注册机构的 ARN 或 ID。
+  **MaxResul** ts（可选）：每页的最大结果数。有效范围为 1—100。
+  **nextToken**（可选）：来自先前响应的分页令牌。在第一页中省略。
+  **filters（可选）：表单中的筛选器条目列表`{"name": "<field>", "values": ["<value>"]}`。**支持的过滤器名称：
  +  `recordType`— 记录的语义类型。有效值：`AGENT`、`MCP`、`SKILL`、`CUSTOM`。
  +  `descriptorType`— 记录使用的主描述符密钥。有效值：`a2aAgentCard`、`mcpServer`、`agentSkillsDefinition`、`custom`。

    重复的过滤器名称将被拒绝。如果您为单个筛选器指定多个值，则这些值将通过 O **R** 连接。**如果指定多个过滤器，则过滤器将由 AND 连接。**

响应中的每个摘要都包含：`registryArn``recordArn`、`recordId`、`name`、`displayName`、`description`、、`recordType`、`recordVersion`、`status`、`createdAt`、`updatedAt`。

### 响应排序和分页
<a name="registry-browse-list-ordering"></a>

结果按记录名称的字母顺序排序。

 `ListDiscoverableRegistryRecords`不能保证页面密集。任何单个响应都可能包含少于`maxResults`记录或零条记录，即使存在更多匹配的记录也是如此。继续调用 API，`nextToken`并在每个后续请求中返回结果，直到响应中没有`nextToken`（或`nextToken`是`null`），以检索每条匹配的记录。

### 控制台
<a name="registry-browse-list-console"></a>

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格中，选择 “**录制目录**”。

1. 选择要浏览的注册表。该页面会自动调用已批准的记录，`ListDiscoverableRegistryRecords`并在分页表中显示已批准的记录。

1. （可选）使用搜索栏旁边的 “**属性**” 菜单按**记录类型**进行筛选。

1. 选择记录的名称以查看其完整描述符内容。
只能在命名空间中使用浏览已批准`ListDiscoverableRegistryRecords`的记录目录。`agent-registry`较旧 Bedrock-AgentCore 的主机没有 “**录制目录**” 页面或浏览功能。要在`bedrock-agentcore`命名空间下创建的注册表中查找**记录，请使用注册表详细信息页面上的搜索记录**选项卡——请参阅[搜索注册表记录](registry-search-records.md)。

**注意**  
“**记录目录**” 页面需要对所选注册表进行 IAM-based 入站授权。对于 JWT-authorized 注册表，请使用 HTTP 客户端和有效的 JWT 不记名令牌`ListDiscoverableRegistryRecords`直接调用。

### Amazon CLI
<a name="registry-browse-list-cli"></a>

```
aws agent-registry list-discoverable-registry-records \
  --registry-id "<registryARN>" \
  --filters '[{"name": "recordType", "values": ["MCP"]}]' \
  --max-results 50 \
  --region us-east-1
```

要翻阅结果，请传递上一个响应中的`nextToken`值：

```
aws agent-registry list-discoverable-registry-records \
  --registry-id "<registryARN>" \
  --next-token "<tokenFromPreviousResponse>" \
  --region us-east-1
```

### Amazon SDK
<a name="registry-browse-list-sdk"></a>

```
import boto3

client = boto3.client('agent-registry')

paginator = client.get_paginator('list_discoverable_registry_records')

for page in paginator.paginate(
    registryId='<registryARN>',
    filters=[{'name': 'recordType', 'values': ['MCP']}]
):
    for record in page['registryRecords']:
        print(f"{record['displayName']} ({record['name']}) - {record['recordType']} v{record['recordVersion']}")
```

### HTTP 客户端
<a name="registry-browse-list-http"></a>

```
curl -X POST "https://agent-registry.<region>.api.aws/registries/<registryARN>/discoverable-records-list" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -d '{
    "filters": [{"name": "recordType", "values": ["MCP"]}],
    "maxResults": 50
  }'
```

## Batch 检索已批准的记录
<a name="registry-browse-batch-get"></a>

`BatchGetDiscoverableRegistryRecord`用于在一次调用中检索最多 100 个记录 ID 的完整描述符内容。常见用例：浏览`ListDiscoverableRegistryRecords`并识别出所需的记录后，只需一次调用即可获取其描述符，而不是每条记录`SearchDiscoverableRegistryRecords`调用一次。

### 请求参数
<a name="registry-browse-batch-get-parameters"></a>
+  **条目**（必填）：注册表范围内的记录组列表。启动时，只接受一个条目（每个请求只有一个注册表）；这对于将来的跨注册表批处理是向前兼容的。

  每个条目都包含：
  +  **注册表 ID**（必填）：注册机构的 ARN 或 ID。
  +  rec@@ **ordID**（必填）：要从注册表中检索的 1—100 个记录 ARN 或 ID 的列表。

### 响应
<a name="registry-browse-batch-get-response"></a>
+  **RegistryRecords**：成功检索的记录的全记录对象（带描述符）。
+  **错误**：每条记录的错误列表。成功返回所有请求的记录时为空。

即使部分失败，该调用也会返回 HTTP 200 — 无法检索的记录会出现在`errors`列表中，而不是导致整个调用失败。每个错误条目都回显请求`recordId`中的`registryId`和，再加上一个`errorCode`：
+  **R@@ **ESOURCE\_NOT\_** FOUND — 记录不存在、已删除或其最新修订版未获批准。** Non-approved 记录被折叠到此代码中，因此不会向缺乏可见性的呼叫者透露它们的存在。
+  **ACCESS\_D** ENIED — 呼叫者无权读取此特定记录。
+  **INTERNAL\_ERROR** — 临时检索失败。使用指数退避可以安全地重试失败的子集。

Batch-level 失败（注册表不存在，调用者无法访问注册表，服务错误不可恢复）返回的是标准操作错误，而不是每`errors`条记录的列表。

### Amazon CLI
<a name="registry-browse-batch-get-cli"></a>

```
aws agent-registry batch-get-discoverable-registry-record \
  --entries '[{"registryId": "<registryARN>", "recordIds": ["<recordId1>", "<recordId2>", "<recordId3>"]}]' \
  --region us-east-1
```

### Amazon SDK
<a name="registry-browse-batch-get-sdk"></a>

```
import boto3

client = boto3.client('agent-registry')

response = client.batch_get_discoverable_registry_record(
    entries=[
        {
            'registryId': '<registryARN>',
            'recordIds': ['<recordId1>', '<recordId2>', '<recordId3>']
        }
    ]
)

for record in response['registryRecords']:
    print(f"Retrieved: {record['displayName']} ({record['recordId']})")

for error in response['errors']:
    print(f"Failed: {error['recordId']} ({error['errorCode']}): {error.get('message', '')}")
```

### HTTP 客户端
<a name="registry-browse-batch-get-http"></a>

```
curl -X POST "https://agent-registry.<region>.api.aws/discoverable-records-batch" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -d '{
    "entries": [
      {
        "registryId": "<registryARN>",
        "recordIds": ["<recordId1>", "<recordId2>", "<recordId3>"]
      }
    ]
  }'
```