跳至内容

如何解决 Amazon Bedrock 中的“Failed to delete knowledge base”错误?

1 分钟阅读
0

我尝试删除 Amazon Bedrock 知识库,但收到了“Failed to delete knowledge base”错误。

简短描述

创建知识库时,默认的 dataDeletionPolicy 设置为 Delete(删除)。如果您删除此知识库,则该策略会删除向量存储中的数据。但是,不会删除向量存储。如果 dataDeletionPolicy 设置为 Retain(保留),则当您删除知识库时,该策略会保留向量存储中的数据。

当您删除 Amazon Bedrock 知识库时,可能会收到以下错误:

"Failed to delete example-knowledge-base.Unable to delete data from vector store for data source with example-id.Check your vector store configurations and permissions and retry your request.If the issue persists, consider updating the dataDeletionPolicy of the data source to RETAIN and retry your request.”

出现此错误的原因如下:

  • 向量存储不存在或之前已被删除。
  • 知识库执行角色没有 AWS Identity and Access Management (IAM) 权限来删除存储在向量存储中的数据。
  • 知识库服务角色没有操作特定数据库 API 所需的权限。

要解决此错误,请使用以下解决方法之一。

解决方法

确认您是否删除了向量存储

完成以下步骤:

  1. 打开 OpenSearch Service 控制台
  2. 在导航窗格中,展开 Serverless(无服务器)并选择 Collections(集合)。
  3. 在搜索栏中,输入与知识库关联的集合。如果该集合不可用,则表明您已删除了向量存储。

将数据删除策略设置为“保留”

完成以下步骤:

  1. 打开 Amazon Bedrock 控制台
  2. 在导航窗格中,展开 Builder tools(生成器工具),然后选择 Knowledge bases(知识库)。
  3. 选择要删除的知识库。
  4. Data source(数据来源)部分中,选择状态为 Delete unsuccessful(删除失败)的数据来源。
  5. 在新的数据来源概述页面中,选择 Edit(编辑)。
  6. 展开 Advanced settings(高级设置),然后将 Data deletion policy(数据删除策略)设置为 Retain(保留)。
  7. 选择 Submit(提交)。
  8. 删除知识库

授予 IAM 角色删除数据的权限

要解决您的权限问题,请根据您用于向量存储的服务执行以下操作之一:

  • 对于 Amazon OpenSearch 无服务器,请更新数据访问策略,使其包含删除权限
  • 对于 Amazon Aurora PostgreSQL 兼容版,请运行以下 SQL 命令之一向主用户授予权限:
    GRANT pg_read_all_data, pg_write_all_data TO example-username;
    **注意:**请将 example-username 替换为主用户名。
    -或-
    运行以下代码:
    GRANT SELECT, DELETE ON example-schema-name. example-table-name TO example-username;
    **注意:**请将 example-schema-name 替换为架构名称,将 example-table-name 替换为表名称,将 example-username 替换为主用户。
  • 对于第三方数据库,请确保您拥有删除数据所需的权限。
AWS 官方已更新 4 个月前