我想排除 Amazon Bedrock 中的“Failed to delete knowledge base”错误。
简短描述
当您删除 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."
当您没有删除存储在关联商品数据库中数据的权限,或者商品数据库不存在时,就会出现此错误。默认情况下,知识库数据来源的数据删除策略设置为删除。这样,在删除数据来源时,就会删除相关的商品数据库数据。如果数据来源没有删除商品数据库数据的权限或目标数据库已被删除,就会发生上述错误。
解决方法
要排除 Failed to delete knowledge base 错误,请完成以下步骤:
将数据删除策略设置为“保留”
完成以下步骤:
- 打开 Amazon Bedrock 控制台。
- 在左侧导航窗格中,选择知识库。
- 选择您无法删除的知识库。
- 在知识库中选择状态为删除不成功的数据来源。
- 选择编辑。然后,选择高级设置。
- 将数据删除策略设置为保留。然后,选择提交。
注意:如果在删除策略设置为保留的情况下删除数据来源,则不会删除关联的商品数据库数据。
授予删除数据所需的权限
另外,以下原因也会导致出现 Failed to delete knowledge base 错误:
- 知识库服务角色没有操作特定数据库 API 所需的权限。确保为 AWS Identity and Access Management (IAM) 服务角色分配所需的权限。
- 数据来源没有从商品数据库中删除数据来源数据所需的资源库策略权限。确保授予删除相关数据和完成数据来源删除所需的权限。
要解决您的权限问题,请根据您针对商品数据库使用的 AWS 服务采用以下方法之一:
对于 Amazon OpenSearch 无服务器,更新数据访问策略,授予所需的权限。
对于 Amazon Aurora PostgreSQL,运行以下命令之一向主用户授予权限:
postgres=> GRANT pg_read_all_data, pg_write_all_data TO example-username;
注意将 example-username 替换为主用户。
postgres=> GRANT SELECT, DELETE ON example-schema-name. example-table-name TO example-username;
注意将 example-schema-name 替换为架构名称;将 example-table-name 替换为表名称;将 example-username 替换为主用户。
对于第三方数据库,请确保您拥有删除数据所需的权限。