跳至內容

如何解決 Amazon Bedrock 中的 "Failed to delete knowledge base" 錯誤?

2 分的閱讀內容
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. 開啟 Amazon OpenSearch Service console (Amazon OpenSearch Service 主控台)。
  2. 在導覽窗格中,展開 Serverless (無伺服器) 並選擇 Collections (集合)。
  3. 在搜尋列中,輸入與知識庫相關的集合。如果該集合無法使用,那麼您已刪除向量存放區。

將資料刪除政策設為「保留」

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

請完成下列步驟:

  1. 開啟 Amazon Bedrock console (Amazon Bedrock 主控台)。
  2. 在導覽窗格中,於 Build (建立) 下,選擇 Knowledge Bases (知識庫)。
  3. 找到狀態為 Delete unsuccessful (刪除失敗) 的知識庫。
  4. 選取該知識庫的資料來源名稱。
  5. 選擇 Edit (編輯)。
  6. 展開 Advanced settings (進階設定),將 Data deletion policy (資料刪除政策) 設定為 Retain (保留)。
  7. 選擇 Submit (提交)。
  8. 刪除資料來源。
  9. 刪除知識庫

您也可以執行 update-data-source AWS CLI 命令來變更資料來源刪除政策:

aws bedrock-agent update-data-source --region region-name --data-source-id your-data-source-id --knowledge-base-id your-knowledge-base-id --name "your-knowledge-base-name" --data-source-configuration '{"s3Configuration":{"bucketArn":"arn:aws:s3:::<S3_Bucket_Name>"},"type":"S3"}' --vector-ingestion-configuration '{"parsingConfiguration":{"bedrockFoundationModelConfiguration":{"modelArn":"arn:aws:bedrock:region: account-id:inference-profile/model_id"},"parsingStrategy":"BEDROCK_FOUNDATION_MODEL"}}' --data-deletion-policy "RETAIN"

**注意:**將以下值替換為如下所示:

  • region-name 替換為您的 AWS 區域
  • your-data-source-id 替換為您的資料來源 ID
  • your-knowledge-base-id 替換為您的知識庫 ID
  • your-knowledge-base-name 替換為您的知識庫名稱
  • region 替換為您的區域
  • account-id 替換為您的 AWS 帳戶 ID
  • model_id 替換為您的 Amazon Bedrock 模型 ID

授予 IAM 角色權限以刪除資料

若要解決您的權限問題,請根據您使用的向量存放區服務執行以下其中一個動作:

  • 對於 Amazon OpenSearch Serverless,請更新資料存取政策,新增要刪除的權限

  • 對於 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 官方已更新 8 個月前