J'ai essayé de supprimer la base de connaissances Amazon Bedrock et j'ai reçu le message d'erreur « Failed to delete knowledge base ».
Brève description
Lorsque vous créez une base de connaissances, la valeur par défaut de dataDeletionPolicy est définie sur Supprimer. Si vous supprimez la source de données associée à la base de connaissances, la politique supprime toutes les données mais ne supprime pas le magasin de vecteurs. Si vous définissez DataDeletionPolicy sur Conserver, la politique conserve toutes les données si vous supprimez votre source de données.
Lorsque vous supprimez une base de connaissances dans Amazon Bedrock, le message d'erreur suivant peut s'afficher :
« 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. »
Cette erreur se produit pour les raisons suivantes :
- Le magasin de vecteurs n'existe pas ou vous l’avez déjà supprimé.
- Le rôle d'exécution de la base de connaissances ne dispose pas des autorisations de Gestion des identités et des accès AWS (AWS IAM) lui permettant de supprimer les données stockées dans le magasin de vecteurs.
- Le rôle de service de la base de connaissances ne dispose pas des autorisations requises pour faire fonctionner des API de base de données spécifiques.
Pour résoudre cette erreur, effectuez une ou plusieurs des résolutions suivantes.
Résolution
Vérifier que le magasin de vecteurs associé existe
Procédez comme suit :
- Ouvrez la console Amazon OpenSearch Service.
- Dans le volet de navigation, développez Sans serveur et sélectionnez Collections.
- Dans la barre de recherche, saisissez la collection associée à la base de connaissances. Si la collection n'est pas disponible, vous avez déjà supprimé le magasin de vecteurs.
Définir la politique de suppression des données sur Conserver
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
Procédez comme suit :
- Ouvrez la console Amazon Bedrock.
- Dans le volet de navigation, sous Créer, sélectionnez Bases de connaissances.
- Trouvez la base de connaissances à l’état Échec de la suppression.
- Sélectionnez le nom de la source de données pour cette base de connaissances.
- Sélectionnez Modifier.
- Développez Paramètres avancés, puis définissez la politique de suppression des données sur Conserver.
- Sélectionnez Soumettre.
- Supprimez la source de données.
- Supprimez la base de connaissances.
Vous pouvez également exécuter la commande update-data-source de l’AWS CLI pour modifier la politique de suppression des sources de données :
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"
Remarque : Remplacez les valeurs suivantes :
- region-name par votre région AWS
- your-data-source-id par l’ID de votre source de données
- your-knowledge-base-id par l’ID de votre base de connaissances
- your-knowledge-base-name par le nom de votre base de connaissances
- région par votre région
- account-id par l'ID de votre compte AWS
- model_id par l’ID de votre modèle Amazon Bedrock
Accorder au rôle IAM les autorisations nécessaires pour supprimer des données
Pour résoudre vos problèmes d'autorisation, effectuez l'une des actions suivantes en fonction du service que vous utilisez pour le magasin de vecteurs :
-
Pour Amazon OpenSearch sans serveur, mettez à jour la stratégie d'accès aux données avec les autorisations de suppression.
-
Pour Amazon Aurora édition compatible avec PostgreSQL, exécutez l'une des commandes SQL suivantes pour accorder l'autorisation à l'utilisateur principal :
GRANT pg_read_all_data, pg_write_all_data TO example-username;
Remarque : Remplacez example-username par le nom d’utilisateur principal.
-ou-
Exécutez le code suivant :
GRANT SELECT, DELETE ON example-schema-name. example-table-name TO example-username;
Remarque : Remplacez example-schema-name par le nom du schéma, example-table-name par le nom de la table et example-username par l'utilisateur principal.
-
Pour les bases de données tierces, vérifiez que vous disposez des autorisations requises pour la suppression des données.