

# 创建和管理注册表
<a name="registry-create-manage"></a>

**即将进行的命名空间迁移**  
 AWS Agent Registry 目前在 bedrock-agentcore 命名空间下处于公开预览状态。从 2026 年 8 月 6 日起，该服务将移至代理注册表命名空间。如果您使用 AWS 代理注册表，则必须更新您的终端节点、IAM 策略、SDK 客户端、CLI 脚本和注册表数据。有关从公共预览版迁移的更多信息，请参阅[注册表迁移综合指南](registry-faq.md)。

## 创建注册表
<a name="registry-create"></a>

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

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.aws.amazon.com/bedrock-agentcore/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 在 “**注册表**” 部分，选择 “**创建注册表**”。

1. 在 “**名称**” 中，输入注册表的名称。名称必须以字母或数字开头。有效字符为 a-z、 A-Z、0-9、\_（下划线）、-（连字符）、。 （点）和/（正斜杠）。该名称最多可包含 64 个字符。

1. （可选）展开**其他详细信息**并输入**描述**（1—4,096 个字符）。

1. （可选）展开 **Search API 授权**以配置消费者在搜索注册表时如何授权（入站授权）。选择 ** AWS IAM** 使用标准 AWS 证书，或选择 **JSON Web 令牌 (JWT)** 使用您的企业身份提供商证书。如果您选择 JWT，则可以使用 Cognito 快速创建，也可以通过提供发现网址、受众、范围、自定义声明和客户来创建自己的 IdP。

1. 在 “**记录批准**” 下，选择是否启用**Auto-approval**。关闭自动批准后，策展人必须先审核并批准每条记录，然后才能进行搜索。

1. 选择 “**创建注册表**”。

注册表状态开始为 “**正在创建**”，置备完成后会转换为 “**就绪**”。

**注意**  
对于启用 JWT 的注册机构，至少需要一个 **JWT 授权配置**字段：允许的受众、允许的客户端、允许的范围或自定义声明。如果您配置了多个配置，则 AWS 代理注册表会对所有配置进行验证。

### AWS CLI
<a name="registry-create-cli"></a>

 **IAM-based 注册表：**

```
aws bedrock-agentcore-control create-registry \
  --name "MyRegistry" \
  --description "Production registry" \
  --region us-east-1
```

 **JWT-based 注册表：**

```
aws bedrock-agentcore-control create-registry \
  --name "MyOAuthRegistry" \
  --authorizer-type CUSTOM_JWT \
  --authorizer-configuration '{"customJWTAuthorizer": {"discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/<poolId>/.well-known/openid-configuration", "allowedClients": ["<appClientId>"]}}' \
  --region us-east-1
```

### AWS SDK
<a name="registry-create-sdk"></a>

 **IAM-based 注册表：**

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.create_registry(
    name='MyRegistry',
    description='Production registry'
)
print(response['registryArn'])
```

 **JWT-based 注册表：**

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.create_registry(
    name='MyOAuthRegistry',
    authorizerType='CUSTOM_JWT',
    authorizerConfiguration={
        'customJWTAuthorizer': {
            'discoveryUrl': 'https://cognito-idp.us-east-1.amazonaws.com/<poolId>/.well-known/openid-configuration',
            'allowedClients': ['<appClientId>']
        }
    }
)
print(response['registryArn'])
```

## 列出注册表
<a name="registry-list"></a>

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

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.aws.amazon.com/bedrock-agentcore/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. **注册**表显示您账户中的所有注册机构，其中包含以下几列：

   1.  **名称**-注册表名称（链接到详情页面）。

   1.  **描述**-注册表描述（如果提供）。

   1.  **授权类型**-入站授权方法（AWS\_IAM 或 CUSTOM\_JWT）。

   1.  **状态**-当前状态（“创建”、“就绪”、“更新”、“删除” 或 “失败” 状态）。

   1.  **ARN — 注册表** Amazon 资源名称。

   1.  **已创建**-创建时间戳。

   1.  **上次更新时间**-上次修改时间戳。

1. 使用 “**查找注册表**” 搜索栏按名称进行筛选。

1. 使用分页控件浏览结果。

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

```
aws bedrock-agentcore-control list-registries \
  --region us-east-1
```

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

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.list_registries()
for registry in response['registries']:
    print(f"{registry['name']} - {registry['status']} - {registry['registryArn']}")
```

## 查看注册表详情
<a name="registry-view-details"></a>

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

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.aws.amazon.com/bedrock-agentcore/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 从 “注册表” 表中选择**注册**表名称。

1. 注册表详情页面有两个选项卡：

   1.  **管理记录**-查看和管理注册表记录。

   1.  **搜索记录**-在注册表中搜索已批准的记录。

1. **注册表详情**部分显示：名称、状态、描述、 Auto-approval （启用或禁用）、注册表 ARN、上次更新日期、创建日期。

1. **注册表记录**部分显示状态摘要计数器（已提交总数、待批准、已批准、已弃用、已拒绝）和记录表。

1. **搜索 API 授权**（入站授权）部分显示了当前的授权类型。

### AWS CLI
<a name="registry-view-cli"></a>

```
aws bedrock-agentcore-control get-registry \
  --registry-id "<registryId>" \
  --region us-east-1
```

### AWS SDK
<a name="registry-view-sdk"></a>

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.get_registry(
    registryId='<registryId>'
)
print(f"Name: {response['name']}")
print(f"Status: {response['status']}")
print(f"ARN: {response['registryArn']}")
```

## 更新注册表
<a name="registry-update"></a>

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

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.aws.amazon.com/bedrock-agentcore/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 选择要编辑的注册表旁边的单选按钮，然后选择**编辑**。或者，选择注册表名称，然后选择 **Edit**。

1. 在 **“编辑注册表**” 页面上，更新以下任意内容：

   1.  **名称**-更改注册表名称（与创建注册表的命名规则相同）。

   1.  **描述**-在 “**其他详细信息**” 下，更新或添加描述。

   1.  **记录批准**-开**Auto-approval**启或关闭。更改仅影响更新后提交的记录。

1. 选择**保存更改**。

**注意**  
将自动批准配置从 OFF 更新为 ON 仅影响更改后提交的记录。已经 “待批准” 的现有记录不受影响，仍必须通过调用 API 进行批准或拒绝。 UpdateRegistryRecordStatus 将配置从 ON 更改为 OFF 仅影响更改后发布到 “待批准” 的记录。

**注意**  
注册表创建后，无法更改发现 URL（适用于 JWT 授权的注册表）。注册表创建后，无法更改入站授权类型（IAM 或 JWT）。

### AWS CLI
<a name="registry-update-cli"></a>

```
aws bedrock-agentcore-control update-registry \
  --registry-id "<registryId>" \
  --description '{"optionalValue": "Updated description"}' \
  --region us-east-1
```

### AWS SDK
<a name="registry-update-sdk"></a>

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.update_registry(
    registryId='<registryId>',
    description={'optionalValue': 'Updated description'}
)
print(f"Updated: {response['name']} - Status: {response['status']}")
```

## 删除注册表
<a name="registry-delete"></a>

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

1. 打开 [Amazon Bedrock AgentCore 控制台](https://console.aws.amazon.com/bedrock-agentcore/home?region=us-east-1#)。

1. 在导航窗格的 “**发现**” 下，选择 “**注册表**”。

1. 选择要删除的注册表旁边的单选按钮，然后选择**删除**。

1. 在确认对话框中，查看警告：在删除注册表之前，必须先删除所有注册表记录。

1. 在确认字段中键入 **delete**。

1. 选择**删除**。

注册表状态更改为 “**正在删除**”。成功横幅确认删除何时完成。

### AWS CLI
<a name="registry-delete-cli"></a>

```
aws bedrock-agentcore-control delete-registry \
  --registry-id "<registryId>" \
  --region us-east-1
```

### AWS SDK
<a name="registry-delete-sdk"></a>

```
import boto3

client = boto3.client('bedrock-agentcore-control')

response = client.delete_registry(
    registryId='<registryId>'
)
print(f"Status: {response['status']}")  # DELETING
```