

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création d’une base de connaissances en la connectant à un magasin de données structuré
<a name="knowledge-base-build-structured"></a>

Amazon Bedrock Knowledge Bases vous permet de vous connecter à des magasins de données structurés, qui contiennent des données conformes à un schéma prédéfini. Les tables et les bases de données sont des exemples de données structurées. Amazon Bedrock Knowledge Bases peut convertir les requêtes utilisateur dans un langage adapté à l’extraction de données à partir de magasins de données structurés pris en charge. Ensuite, la requête convertie lui permet de récupérer les données pertinentes pour la requête et générer des réponses appropriées. Ainsi, vous pouvez utiliser directement les données structurées existantes sans avoir à les convertir dans un autre format ni à générer vos propres requêtes SQL.

Après avoir configuré votre base de connaissances, vous pouvez soumettre des requêtes pour en récupérer des données au moyen de l’opération [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html) ou générer des réponses à partir des données récupérées au moyen de l’opération [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html). Ces opérations convertissent de manière sous-jacente les requêtes utilisateur en requêtes adaptées au magasin de données structuré connecté à la base de connaissances.

Vous pouvez également convertir les requêtes indépendamment de la récupération des données à l’aide de l’opération d’API [GenerateQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GenerateQuery.html). Cette opération convertit les requêtes en langage naturel en requêtes SQL adaptées à la source de données interrogée. Vous pouvez utiliser cette opération indépendamment et l’insérer dans votre flux de travail.

Sélectionnez une rubrique pour découvrir les conditions préalables et le processus de connexion de votre base de connaissances à un magasin de données structuré.

**Topics**
+ [Configuration de votre moteur de requêtes et des autorisations nécessaires à la création d’une base de connaissances avec un magasin de données structuré](knowledge-base-prereq-structured.md)
+ [Création d’une base de connaissances en la connectant à un magasin de données structuré](knowledge-base-structured-create.md)
+ [Synchronisation de votre magasin de données structuré avec votre base de connaissances Amazon Bedrock](kb-data-source-structured-sync-ingest.md)

# Configuration de votre moteur de requêtes et des autorisations nécessaires à la création d’une base de connaissances avec un magasin de données structuré
<a name="knowledge-base-prereq-structured"></a>

Cette rubrique décrit les autorisations dont vous avez besoin pour connecter votre base de connaissances à un magasin de données structuré. Si vous envisagez de connecter une base de connaissances Amazon Bedrock à un magasin de données structuré, vous devez remplir les conditions préalables. Pour découvrir les conditions générales relatives aux autorisations à remplir, consultez [Configuration d’autorisations de création et de gestion de bases de connaissances pour un utilisateur ou un rôle](knowledge-base-prereq-permissions-general.md).

**Important**  
L'exécution de requêtes SQL arbitraires peut représenter un risque pour la sécurité de n'importe quelle Text-to-SQL application. Nous vous recommandons de prendre les précautions nécessaires, par exemple en utilisant des rôles restreints, des bases de données en lecture seule et des environnements de test (sandbox).

Amazon Bedrock Knowledge Bases utilise Amazon Redshift en tant que moteur de requête pour interroger votre magasin de données. Un moteur de requête accède aux métadonnées depuis un magasin de données structuré, puis ces métadonnées lui permettent de générer des requêtes SQL. Amazon Redshift est un service d’entrepôt de données qui analyse des données structurées provenant d’entrepôts de données, de bases de données et de lacs de données à l’aide d’SQL.

## Création du moteur de requêtes Amazon Redshift
<a name="kb-query-engine-setup-create"></a>

Vous pouvez utiliser Amazon Redshift sans serveur ou Amazon Redshift alloué selon votre cas d’utilisation, et vous connecter à des groupes de travail ou à des clusters pour votre entrepôt de données. Les données sous-jacentes que le moteur Amazon Redshift peut interroger peuvent être des données stockées de manière native dans des clusters Amazon Redshift ou des données situées sous la valeur par défaut AWS Glue Data Catalog (comme dans Amazon S3, entre autres).

Si vous avez déjà créé un moteur de requêtes, vous pouvez ignorer cette condition préalable. Sinon, procédez comme suit pour configurer votre moteur de requêtes Amazon Redshift alloué ou Amazon Redshift sans serveur :

**Pour configurer un moteur de requêtes dans Amazon Redshift alloué**

1. Suivez la procédure sous [Étape 1 : création d’un exemple de cluster Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html#rs-gsg-launch-sample-cluster) dans le Guide de démarrage d’Amazon Redshift.

1. Notez l’identifiant du cluster.

1. (Facultatif) Pour plus d’informations sur les clusters Amazon Redshift alloué, consultez [Clusters Amazon Redshift alloué](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) dans le Guide de gestion d’Amazon Redshift.

**Pour configurer un moteur de requêtes dans Amazon Redshift sans serveur**

1. Suivez uniquement la procédure de configuration sous [Création d’un entrepôt de données avec Amazon Redshift sans serveur](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html#serverless-console-resource-creation) dans le Guide de démarrage d’Amazon Redshift et configurez-le avec les paramètres par défaut.

1. Notez l’ARN du groupe de travail.

1. (Facultatif) Pour plus d’informations sur les groupes de travail Amazon Redshift sans serveur, consultez [Groupes de travail et espaces de noms](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-workgroup-namespace.html) dans le Guide de gestion d’Amazon Redshift.

## Configuration des autorisations du moteur de requêtes Amazon Redshift
<a name="kb-query-engine-setup-redshift-permissions"></a>

En fonction du moteur de requêtes Amazon Redshift que vous choisissez, vous pouvez configurer certaines autorisations. Les autorisations que vous configurez dépendent de la méthode d’authentification. Le tableau suivant indique les méthodes d’authentification utilisables pour différents moteurs de requêtes :


****  

| Méthode d’authentification | Amazon Redshift alloué | Amazon Redshift sans serveur | 
| --- | --- | --- | 
| IAM | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | 
| Nom d’utilisateur de la base de données | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-no.png)Non | 
| AWS Secrets Manager | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | 

Amazon Bedrock Knowledge Bases connecte les bases de connaissances aux magasins de données structurés, récupère les données de ces magasins de données et génère des requêtes SQL en fonction des requêtes utilisateur et de la structure des magasins de données à l’aide d’un [rôle de service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

**Note**  
Si vous envisagez d'utiliser le AWS Management Console pour créer une base de connaissances, vous pouvez ignorer cette condition préalable. La console créera un rôle de service Amazon Bedrock Knowledge Bases avec les autorisations appropriées.

Pour créer un rôle de service IAM personnalisé avec les autorisations appropriées, suivez les étapes décrites dans [Création d’un rôle pour la délégation d’autorisations à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) et attachez la relation de confiance définie dans [Relation d’approbation](kb-permissions.md#kb-permissions-trust).

Ajoutez ensuite des autorisations afin que votre base de connaissances puisse accéder à votre moteur de requêtes et à vos bases de données Amazon Redshift. Développez la section s’appliquant à votre cas d’utilisation :

### Votre moteur de requêtes est Amazon Redshift alloué
<a name="w2aac28c10c27c13c11c15b1"></a>

Attachez la politique suivante à votre rôle de service personnalisé pour lui permettre d’accéder à vos données et de générer des requêtes à leur aide :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RedshiftDataAPIStatementPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:GetStatementResult",
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "redshift-data:statement-owner-iam-userid": "${aws:userid}"
                }
            }
        },
        {
            "Sid": "RedshiftDataAPIExecutePermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:cluster:${Cluster}"
            ]
        },
        {
            "Sid": "SqlWorkbenchAccess",
            "Effect": "Allow",
            "Action": [
                "sqlworkbench:GetSqlRecommendations",
                "sqlworkbench:PutSqlGenerationContext",
                "sqlworkbench:GetSqlGenerationContext",
                "sqlworkbench:DeleteSqlGenerationContext"
            ],
            "Resource": "*"
        },
        {
            "Sid": "GenerateQueryAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock:GenerateQuery"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Vous devez également ajouter des autorisations pour permettre à votre rôle de service de s’authentifier auprès du moteur de requêtes. Développez une section pour afficher les autorisations associées à cette méthode.

------
#### [ IAM ]

Pour permettre à votre rôle de service de s’authentifier auprès de votre moteur de requêtes Amazon Redshift alloué avec IAM, attachez la politique suivante à votre rôle de service personnalisé :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetCredentialsWithFederatedIAMCredentials",
            "Effect": "Allow",
            "Action": "redshift:GetClusterCredentialsWithIAM",
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:dbname:Cluster/database"
            ]
        }
    ]
}
```

------

------
#### [ Database user ]

Pour vous authentifier en tant qu’utilisateur de base de données Amazon Redshift, attachez la politique suivante au rôle de service :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetCredentialsWithClusterCredentials",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:123456789012:dbuser:${cluster}/${dbuser}",
                "arn:aws:redshift:us-east-1:123456789012:dbname:${cluster}/${database}"
            ]
        }
    ]
}
```

------

------
#### [ AWS Secrets Manager ]

Pour autoriser votre rôle de service à s'authentifier auprès de votre moteur de requête fourni par Amazon Redshift avec AWS Secrets Manager un secret, procédez comme suit :
+ Attachez la politique suivante au rôle :

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "GetSecretPermissions",
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}"
              ]
          }
      ]
  }
  ```

------

### Votre moteur de requêtes est Amazon Redshift sans serveur
<a name="w2aac28c10c27c13c11c15b3"></a>

Les autorisations à attacher dépendent de votre méthode d’authentification. Développez une section pour afficher les autorisations associées à une méthode.

------
#### [ IAM ]

Pour permettre à votre rôle de service de s’authentifier auprès de votre moteur de requêtes Amazon Redshift sans serveur avec IAM, attachez la politique suivante à votre rôle de service personnalisé :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RedshiftServerlessGetCredentials",
            "Effect": "Allow",
            "Action": "redshift-serverless:GetCredentials",
            "Resource": [
                "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup/WorkgroupId"
            ]
        }
    ]
}
```

------

------
#### [ AWS Secrets Manager ]

Pour autoriser votre rôle de service à s'authentifier auprès de votre moteur de requête fourni par Amazon Redshift avec AWS Secrets Manager un secret, procédez comme suit :
+ Attachez la politique suivante au rôle :

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "GetSecretPermissions",
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}"
              ]
          }
      ]
  }
  ```

------

## Autoriser le rôle de service de base de connaissances à accéder à votre magasin de données
<a name="knowledge-base-prereq-structured-db-access"></a>

Assurez-vous que vos données sont stockées dans l’un des [magasins de données structurés pris en charge](knowledge-base-structured-create.md) suivants :
+ Amazon Redshift
+ AWS Glue Data Catalog (AWS Lake Formation)

Le tableau suivant récapitule les méthodes d’authentification disponibles pour le moteur de requêtes, en fonction de votre magasin de données :


****  

| Méthode d’authentification | Amazon Redshift | AWS Glue Data Catalog (AWS Lake Formation) | 
| --- | --- | --- | 
| IAM | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | 
| Nom d’utilisateur de la base de données | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-no.png)Non | 
| AWS Secrets Manager | ![\[Green circular icon with a white checkmark symbol inside.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-yes.png)Oui | ![\[Red circular icon with an X symbol, indicating cancellation or denial.\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/icons/icon-no.png)Non | 

Pour découvrir comment configurer des autorisations afin de permettre à votre rôle de service Amazon Bedrock Knowledge Bases d’accéder à votre magasin de données et de générer des requêtes en fonction de celui-ci, développez la section correspondant au service dans lequel se trouve votre magasin de données :

### Amazon Redshift
<a name="w2aac28c10c27c13c13c13b1"></a>

Pour accorder à votre rôle de service Amazon Bedrock Knowledge Bases l’accès à votre base de données Amazon Redshift, utilisez [Amazon Redshift Query Editor v2](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html) et exécutez les commandes SQL suivantes :

1. (Si vous vous authentifiez avec IAM et qu'aucun utilisateur n'a encore été créé pour votre base de données) Exécutez la commande suivante, qui utilise [CREATE USER pour créer un utilisateur](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) de base de données et l'autoriser à s'authentifier via IAM, en le *\$1\$1service-role\$1* remplaçant par le nom du rôle de service Amazon Bedrock Knowledge Bases personnalisé que vous avez créé :

   ```
   CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;
   ```
**Important**  
Si vous utilisez le rôle de service Amazon Bedrock Knowledge Bases créé pour vous dans la console, puis [synchronisez votre magasin de données](kb-data-source-structured-sync-ingest.md) avant d’effectuer cette étape, l’utilisateur est créé pour vous, mais la synchronisation échoue, car l’utilisateur n’a pas obtenu les autorisations nécessaires pour accéder à votre magasin de données. Vous devez effectuer l’étape suivante avant de procéder à la synchronisation.

1. Accordez à une identité les autorisations nécessaires pour récupérer des informations de votre base de données en exécutant la commande [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html).

------
#### [ IAM ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
   ```

------
#### [ Database user ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "${dbUser}";
   ```

------
#### [ AWS Secrets Manager username ]

   ```
   GRANT SELECT ON ALL TABLES IN SCHEMA ${schemaName} TO "${secretsUsername}";
   ```

------
**Important**  
N’accordez aucun accès `CREATE`, `UPDATE` ni `DELETE`. L’octroi de ces actions peut entraîner une modification involontaire de vos données.

   Pour un contrôle plus précis des tables accessibles, vous pouvez remplacer des noms de tables `ALL TABLES` spécifiques par la notation suivante :. *\$1\$1schemaName\$1* *\$1\$1tableName\$1* Pour plus d’informations sur cette notation, consultez la section **Objets de requête** sous [Requêtes entre bases de données](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html).

------
#### [ IAM ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "IAMR:${serviceRole}";
   ```

------
#### [ Database user ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "${dbUser}";
   ```

------
#### [ AWS Secrets Manager username ]

   ```
   GRANT SELECT ON ${schemaName}.${tableName} TO "${secretsUsername}";
   ```

------

1. Si vous avez créé un schéma dans la base de données Redshift, exécutez la commande suivante pour accorder à une identité les autorisations nécessaires sur le nouveau schéma.

   ```
   GRANT USAGE ON SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
   ```

### AWS Glue Data Catalog
<a name="w2aac28c10c27c13c13c13b3"></a>

Pour accorder à votre rôle de service Amazon Bedrock Knowledge Bases l'accès à votre magasin de AWS Glue Data Catalog données, utilisez l'[éditeur de requêtes Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2.html) v2 et exécutez les commandes SQL suivantes :

1. Exécutez la commande suivante, qui utilise [CREATE USER pour créer un utilisateur](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) de base de données et l'autoriser à s'authentifier via IAM, en *\$1\$1service-role\$1* remplaçant par le nom du rôle de service Amazon Bedrock Knowledge Bases personnalisé que vous avez créé :

   ```
   CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;
   ```
**Important**  
Si vous utilisez le rôle de service Amazon Bedrock Knowledge Bases créé pour vous dans la console, puis [synchronisez votre magasin de données](kb-data-source-structured-sync-ingest.md) avant d’effectuer cette étape, l’utilisateur est créé pour vous, mais la synchronisation échoue, car l’utilisateur n’a pas obtenu les autorisations nécessaires pour accéder à votre magasin de données. Vous devez effectuer l’étape suivante avant de procéder à la synchronisation.

1. Accordez au rôle de service les autorisations nécessaires pour récupérer des informations de votre base de données en exécutant la commande [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) suivante :

   ```
   GRANT USAGE ON DATABASE awsdatacatalog TO "IAMR:${serviceRole}";
   ```
**Important**  
N’accordez aucun accès `CREATE`, `UPDATE` ni `DELETE`. L’octroi de ces actions peut entraîner une modification involontaire de vos données.

1. Pour autoriser l'accès à vos AWS Glue Data Catalog bases de données, associez les autorisations suivantes au rôle de service :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabases",
                   "glue:GetDatabase",
                   "glue:GetTables",
                   "glue:GetTable",
                   "glue:GetPartitions",
                   "glue:GetPartition",
                   "glue:SearchTables"
               ],
               "Resource": [
                   "arn:aws:glue:us-east-1:123456789012:table/${DatabaseName}/${TableName}",
                   "arn:aws:glue:us-east-1:123456789012:database/${DatabaseName}",
                   "arn:aws:glue:us-east-1:123456789012:catalog"
               ]
           }
       ]
   }
   ```

------

1. Accordez des autorisations à votre rôle de service via AWS Lake Formation (pour en savoir plus sur Lake Formation et sa relation avec Amazon Redshift, voir [Sources de données pour Redshift](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source.html)) en procédant comme suit :

   1. Connectez-vous au et ouvrez AWS Management Console la console Lake Formation à l'adresse [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

   1. Sélectionnez **Autorisations de données** dans le volet de navigation gauche.

   1. Accordez des autorisations au rôle de service que vous utilisez pour Amazon Bedrock Knowledge Bases.

   1. Accordez les autorisations **Describe** et **Select** pour vos bases de données et vos tables.

1. Selon la source de données dans laquelle vous utilisez AWS Glue Data Catalog, vous devrez peut-être ajouter des autorisations pour accéder à cette source de données (pour plus d'informations, voir [AWS Glue Dépendance par rapport à d'autres Services AWS](https://docs.aws.amazon.com/glue/latest/dg/dependency-on-other-services.html)). Par exemple, si votre source de données se trouve à un emplacement Amazon S3, vous devez ajouter l’instruction suivante à la politique ci-dessus.

   ```
   {
       "Sid": "Statement1",
       "Effect": "Allow",
       "Action": [
           "s3:ListBucket",
           "s3:GetObject"
       ],
       "Resource": [
           "arn:aws:s3:::${BucketName}",
           "arn:aws:s3:::${BucketName}/*"
       ]
   }
   ```

1. (Facultatif) Si vous cryptez les données dans Amazon S3 ou AWS Glue Data Catalog si vous devez ajouter des autorisations au rôle pour déchiffrer les données de la clé KMS. AWS KMS 

   ```
   {
       "Action": [
           "kms:Decrypt"
       ],
       "Resource": [
           "arn:aws:kms:${Region}:${Account}:key/{KmsId}",
           "arn:aws:kms:${Region}:${Account}:key/{KmsId}"
       ],
       "Effect": "Allow"
   }
   ```

# Création d’une base de connaissances en la connectant à un magasin de données structuré
<a name="knowledge-base-structured-create"></a>

Pour connecter une base de connaissances à un magasin de données structuré, vous devez spécifier les composants suivants :
+ 

**Configuration du moteur de requêtes**  
Configuration du service de calcul exécutant les requêtes SQL générées. Le moteur de requêtes permet de convertir les requêtes utilisateur en langage naturel en requêtes SQL permettant d’extraire des données de votre magasin de données. Vous pouvez choisir Amazon Redshift comme moteur de requêtes. Lorsque vous choisissez cette configuration, vous devez spécifier :
  + les métadonnées de connexion de calcul, comme l’identifiant du cluster ou l’ARN du groupe de travail, en fonction du moteur de requête choisi ;
  + Méthode d'authentification pour utiliser le moteur de requête, qui peut utiliser un rôle de service IAM doté des autorisations appropriées, un utilisateur de base de données du moteur de requête ou un AWS Secrets Manager secret lié aux informations d'identification de votre base de données.
+ 

**Configuration du stockage**  
Configuration du magasin de données contenant vos données. Vous pouvez vous connecter à Amazon Redshift Provisioned ou Amazon Redshift Serverless et utiliser Amazon Redshift ou comme magasin de données. AWS Glue Data Catalog 
+ 

**(Facultatif) Configurations de requêtes**  
Vous pouvez améliorer la précision de la génération du code SQL à l’aide de configurations de requêtes facultatives :
  + **Durée de requête maximale** : durée au bout de laquelle la requête expire.
  + **Descriptions** : fournit des métadonnées ou des informations supplémentaires sur les tables ou les colonnes. Vous pouvez inclure des descriptions des tables ou des colonnes, des notes d’utilisation ou tout autre attribut supplémentaire. Les descriptions que vous ajoutez peuvent améliorer la génération de requêtes SQL en fournissant un contexte et des informations supplémentaires sur la structure des tables ou des colonnes.
  + **Inclusions et exclusions** : spécifie un ensemble de tables ou de colonnes à inclure ou à exclure pour la génération du code SQL. Ce champ est essentiel si vous souhaitez limiter la portée des requêtes SQL à un sous-ensemble défini de tables ou de colonnes disponibles. Cette option permet d’optimiser le processus de génération en réduisant les références inutiles aux tables ou aux colonnes.

    Si vous spécifiez des inclusions, toutes les autres tables et colonnes sont ignorées. Si vous spécifiez des exclusions, les tables et les colonnes que vous spécifiez sont ignorées.
**Note**  
Les inclusions et les exclusions ne remplacent pas les barrières de protection et visent uniquement à améliorer la précision du modèle.
  + **Requêtes organisées** : ensemble d’exemples de questions et réponses prédéfinis. Les questions sont écrites sous forme de requêtes en langage naturel (NLQ) et les réponses sont la requête SQL correspondante. Ces exemples facilitent le processus de génération du code SQL en fournissant des exemples des types de requêtes à générer. Ils servent de points de référence pour améliorer la précision et la pertinence des sorties SQL génératives.

Développez la section correspondant à votre cas d’utilisation :

## Utilisation de la console
<a name="knowledge-base-structured-create-console"></a>

Pour vous connecter à un magasin de données structuré à l'aide du AWS Management Console, procédez comme suit :

1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

1. Dans le volet de navigation de gauche, sélectionnez **Bases de connaissances**.

1. Dans la section **Bases de connaissances**, choisissez **Créer**, puis sélectionnez **Base de connaissances avec magasin de données structuré**.

1. Configurez les informations suivantes pour la base de connaissances :

   1. (Facultatif) Modifiez le nom par défaut et fournissez une description de votre base de connaissances.

   1. Sélectionnez le moteur de requêtes à utiliser pour récupérer les données de votre magasin de données.

   1. Choisissez un rôle de service IAM doté des autorisations appropriées pour créer et gérer cette base de connaissances. Vous pouvez soit laisser Amazon Bedrock créer le rôle de service, soit choisir un rôle personnalisé que vous avez créé. Pour plus d’informations sur la création d’un rôle personnalisé, consultez [Configuration de votre moteur de requêtes et des autorisations nécessaires à la création d’une base de connaissances avec un magasin de données structuré](knowledge-base-prereq-structured.md).

   1. (Facultatif) Ajoutez des balises à associer à votre base de connaissances. Pour de plus amples informations, veuillez consulter [Balisage des ressources Amazon Bedrock](tagging.md).

   1. Choisissez **Suivant**.

1. Configurez votre moteur de requêtes :

   1. Sélectionnez le service dans lequel vous avez créé un cluster ou un groupe de travail. Choisissez ensuite le cluster ou groupe de travail à utiliser.

   1. Sélectionnez la méthode d’authentification et renseignez les champs nécessaires.

   1. Sélectionnez le magasin de données dans lequel vous souhaitez stocker vos métadonnées. Ensuite, choisissez ou saisissez le nom de la base de données.

   1. (Facultatif) Modifiez les configurations de requêtes si nécessaire. Consultez le début de cette rubrique pour plus d’informations sur différentes configurations.

   1. Choisissez **Suivant**.

1. Passez en revue les configurations de votre base de connaissances et modifiez toute section si nécessaire. Confirmez pour créer votre base de connaissances.

## Utilisation de l’API
<a name="knowledge-base-structured-create-api"></a>

Pour vous connecter à un magasin de données structuré à l'aide de l'API Amazon Bedrock, envoyez une [CreateKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateKnowledgeBase.html)demande à un point de [terminaison Agents for Amazon Bedrock au moment de la création](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) avec le corps de demande général suivant :

```
{
    "name": "string",
    "roleArn": "string",
    "knowledgeBaseConfiguration": {
        "type": "SQL",
        "sqlKnowledgeBaseConfiguration": [SqlKnowledgeBaseConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_SqlKnowledgeBaseConfiguration.html)
    },
    "description": "string",
    "clientToken": "string",
    "tags": {
        "string": "string"
    }
}
```

Les champs suivants sont obligatoires :


****  

| Champ | Description de base | 
| --- | --- | 
| Nom | Nom de la base de connaissances | 
| roleArn | [Rôle de service de base de connaissances](kb-permissions.md) avec les autorisations appropriées. La console vous permet de créer automatiquement un rôle de service avec les autorisations appropriées. | 
| knowledgeBaseConfiguration | Contient des configurations pour la base de connaissances. Pour une base de données structurée, spécifiez SQL comme type et incluez le champ sqlKnowledgeBaseConfiguration. | 

Les champs suivants sont facultatifs :


****  

| Champ | Utilisation | 
| --- | --- | 
| description | Permet d’inclure une description de la base de connaissances. | 
| clientToken | Pour garantir que la demande d’API n’est exécutée qu’une seule fois. Pour plus d’informations, consultez [Garantie de l’idempotence](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). | 
| tags | Pour associer des balises au flux. Pour de plus amples informations, veuillez consulter [Balisage des ressources Amazon Bedrock](tagging.md). | 

La `SQLKnowledgeBaseConfiguration` dépend du moteur de requêtes que vous utilisez. Pour Amazon Redshift, spécifiez le `type` champ sous la forme `REDSHIFT` et incluez le `redshiftConfiguration` champ, qui correspond à un. [RedshiftConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftConfiguration.html) Pour le [RedshiftConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftConfiguration.html), vous configurez les champs suivants :

### queryEngineConfiguration
<a name="w2aac28c10c27c15b9b3c17b1"></a>

Vous pouvez configurer les types de moteurs de requêtes suivants :

#### Amazon Redshift alloué
<a name="w2aac28c10c27c15b9b3c17b1b5b1"></a>

Si vos bases de données Amazon Redshift sont mises en service sur des nœuds de calcul dédiés, la valeur du `queryEngineConfiguration` champ doit être [RedshiftQueryEngineConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineConfiguration.html)au format suivant :

```
{
    "type": "PROVISIONED",
    "provisionedConfiguration": {
        "clusterIdentifier": "string",
        "authConfiguration": [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)
    },
}
```

Spécifiez l’identifiant du cluster dans le champ `clusterIdentifier`. [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html)Cela dépend du type d'autorisation que vous utilisez. Cliquez sur l’onglet qui correspond à votre méthode d’autorisation :

------
#### [ IAM role ]

Si vous autorisez avec votre rôle IAM, vous devez spécifier uniquement `IAM` comme type dans la configuration [RedshiftProvisionedAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftProvisionedAuthConfiguration.html) sans champs supplémentaires.

```
{
    "type": "IAM"
}
```

------
#### [ Temporary credentials user name ]

Si vous autorisez avec le nom d’utilisateur de la base de données, spécifiez le `type` comme `USERNAME` et spécifiez le nom d’utilisateur dans le champ `databaseUser` de la configuration `RedshiftProvisionedAuthConfig` :

```
{
    "type": "USERNAME",
    "databaseUser": "string"
}
```

------
#### [ AWS Secrets Manager ]

Si vous autorisez avec AWS Secrets Manager, spécifiez le `type` as `USERNAME_PASSWORD` et spécifiez l'ARN du secret dans le `usernamePasswordSecretArn` champ du `RedshiftProvisionedAuthConfig` :

```
{
    "type": "USERNAME_PASSWORD",
    "usernamePasswordSecretArn": "string"
}
```

------

#### Amazon Redshift sans serveur
<a name="w2aac28c10c27c15b9b3c17b1b5b3"></a>

Si vous utilisez Amazon Redshift Serverless, la valeur du `queryConfiguration` champ doit être [RedshiftQueryEngineConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineConfiguration.html)au format suivant :

```
{
    "type": "SERVERLESS",
    "serverlessConfiguration": {
        "workgroupArn": "string",
        "authConfiguration": 
    }
}
```

Spécifiez l’ARN de votre groupe de travail dans le champ `workgroupArn`. [RedshiftServerlessAuthConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftServerlessAuthConfiguration.html)Cela dépend du type d'autorisation que vous utilisez. Cliquez sur l’onglet qui correspond à votre méthode d’autorisation :

------
#### [ IAM role ]

Si vous autorisez avec votre rôle IAM, vous devez spécifier uniquement `IAM` comme type dans la configuration `RedshiftServerlessAuthConfiguration` sans champs supplémentaires.

```
{
    "type": "IAM"
}
```

------
#### [ AWS Secrets Manager ]

Si vous autorisez avec AWS Secrets Manager, spécifiez le `type` as `USERNAME_PASSWORD` et spécifiez l'ARN du secret dans le `usernamePasswordSecretArn` champ du `RedshiftServerlessAuthConfiguration` :

```
{
    "type": "USERNAME_PASSWORD",
    "usernamePasswordSecretArn": "string"
}
```

------

### storageConfigurations
<a name="w2aac28c10c27c15b9b3c17b3"></a>

Ce champ correspond à un tableau contenant un seul [RedshiftQueryEngineStorageConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_RedshiftQueryEngineStorageConfiguration.html), dont le format dépend de l'endroit où vos données sont stockées.

#### AWS Glue Data Catalog
<a name="w2aac28c10c27c15b9b3c17b3b5b1"></a>

Si vos données sont stockées dans AWS Glue Data Catalog, elles `RedshiftQueryEngineStorageConfiguration` doivent être au format suivant :

```
{
    "type": "AWS_DATA_CATALOG",
    "awsDataCatalogConfiguration": {
        "tableNames": ["string"]
    }
}
```

Ajoutez le nom de chaque table à laquelle vous souhaitez connecter votre base de connaissances dans le tableau auquel `tableNames` est mappé.

**Note**  
Saisissez les noms de table selon le modèle décrit dans [Requêtes entre bases de données](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html) (`${databaseName}.${tableName}`). Vous pouvez inclure toutes les tables en spécifiant `${databaseName.*}`.

#### Bases de données Amazon Redshift
<a name="w2aac28c10c27c15b9b3c17b3b5b3"></a>

Si vos données sont stockées dans une base de données Amazon Redshift, la configuration `RedshiftQueryEngineStorageConfiguration` doit être au format suivant :

```
{
    "type": "string",
    "redshiftConfiguration": {
        "databaseName": "string"
    }
}
```

Spécifiez le nom de votre base de données Amazon Redshift dans le champ `databaseName`.

**Note**  
Saisissez les noms de table selon le modèle décrit dans [Requêtes entre bases de données](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html) (`${databaseName}.${tableName}`). Vous pouvez inclure toutes les tables en spécifiant `${databaseName.*}`.

Si votre base de données est montée via Amazon SageMaker AI Lakehouse, le nom de la base de données est au format. *\$1\$1db\$1@\$1\$1schema\$1*

### queryGenerationConfiguration
<a name="w2aac28c10c27c15b9b3c17b5"></a>

Ce champ correspond aux éléments suivants [QueryGenerationConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationConfiguration.html)que vous pouvez utiliser pour configurer la manière dont vos données sont interrogées :

```
{
    "executionTimeoutSeconds": number,
    "generationContext": {
        "tables": [
            {
                "name": "string",
                "description": "string",
                "inclusion": "string",
                "columns": [
                    {
                        "name": "string",
                        "description": "string",
                        "inclusion": "string"
                    },
                    ...
                ]
            },
            ...
        ],
        "curatedQueries": [
            {
                "naturalLanguage": "string",
                "sql": "string"
            },
            ...
        ]
    }
}
```

Si vous souhaitez que la requête expire, spécifiez le délai d’expiration en secondes dans le champ `executionTimeoutSeconds`.

Le `generationContext` champ correspond à un [QueryGenerationContext](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationContext.html)objet dans lequel vous pouvez configurer autant d'options suivantes que vous le souhaitez.

**Important**  
Si vous incluez un contexte de génération, le moteur de requêtes fait de son mieux pour l’appliquer lors de la génération du code SQL. Le contexte de génération n’est pas déterministe et vise uniquement à améliorer la précision du modèle. Pour garantir l’exactitude, vérifiez les requêtes SQL générées.

Pour en savoir plus sur les contextes de génération que vous pouvez inclure, développez les sections suivantes :

#### Ajout de descriptions pour des tables ou colonnes de la base de données
<a name="w2aac28c10c27c15b9b3c17b5c15b1"></a>

Pour améliorer la précision de la génération du code SQL lors de l’interrogation de la base de données, vous pouvez fournir une description de la table ou colonne qui fournit davantage de contexte qu’un court nom de table ou de colonne. Vous pouvez effectuer les opérations suivantes :
+ Pour ajouter une description à un tableau, incluez un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objet dans le `tables` tableau. Dans cet objet, spécifiez le nom de la table dans le champ `name` et une description dans le champ `description`, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "description": "Description for Table A"
  }
  ```
+ Pour ajouter une description à une colonne, incluez un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objet dans le `tables` tableau. Dans cet objet, spécifiez le nom de la table dans le `name` champ et incluez le `columns` champ, qui correspond à un tableau de [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html). Dans un objet `QueryGenerationColumn`, incluez le nom de la colonne dans le champ `name` et une description dans le champ `description`, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "columns": [
          {
              "name": "Column A",
              "description": "Description for Column A"
          }
      ]
  }
  ```
+ Vous pouvez ajouter une description de table et une description de colonne, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "description": "Description for Table A",
      "columns": [
          {
              "name": "columnA",
              "description": "Description for Column A"
          }
      ]
  }
  ```
**Note**  
Saisissez les noms de table et de colonne selon le modèle décrit dans [Requêtes entre bases de données](https://docs.aws.amazon.com/redshift/latest/dg/cross-database-overview.html). Si votre base de données est au format AWS Glue Data Catalog, le format est`awsdatacatalog.gluedatabase.table`.

#### Inclusion ou exclusion de tables ou colonnes de la base de données
<a name="w2aac28c10c27c15b9b3c17b5c15b3"></a>

Vous pouvez suggérer des tables ou des colonnes à inclure ou à exclure lors de la génération de code SQL en utilisant le `inclusion` champ dans les [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html)objets [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)et. Vous pouvez spécifier l’une des valeurs suivantes dans le champ `inclusion` :
+ INCLUDE : seules les tables ou colonnes que vous spécifiez sont incluses en tant que contexte lors de la génération du code SQL.
+ EXCLUDE : les tables ou colonnes que vous spécifiez sont exclues en tant que contexte lors de la génération du code SQL.

Vous pouvez indiquer si vous souhaitez inclure ou exclure des tables ou colonnes comme suit :
+ Pour inclure ou exclure une table, incluez un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objet dans le `tables` tableau. Dans cet objet, spécifiez le nom de la table dans le champ `name` et indiquez si vous souhaitez l’inclure ou l’exclure dans le champ `inclusion`, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "inclusion": "EXCLUDE"
  }
  ```

  Le moteur de requêtes n’ajoute pas `Table A` dans le contexte supplémentaire pour générer du code SQL.
+ Pour inclure ou exclure une colonne, incluez un [QueryGenerationTable](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationTable.html)objet dans le `tables` tableau. Dans cet objet, spécifiez le nom de la table dans le `name` champ et incluez le `columns` champ, qui correspond à un tableau de [QueryGenerationColumn](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationColumn.html). Dans un objet `QueryGenerationColumn`, incluez le nom de la colonne dans le champ `name` et indiquez si vous souhaitez l’inclure ou l’exclure dans le champ `inclusion`, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "columns": [
          {
              "name": "database.schema.tableA.columnA",
              "inclusion": "EXCLUDE"
          }
      ]
  }
  ```

  La génération du code SQL ignore `Column A` dans `Table A` dans le contexte.
+ Vous pouvez combiner des tables et des colonnes lorsque vous spécifiez des inclusions ou des exclusions, comme dans l’exemple suivant :

  ```
  {
      "name": "database.schema.tableA",
      "inclusion": "INCLUDE",
      "columns": [
          {
              "name": "database.schema.tableA.columnA",
              "inclusion": "EXCLUDE"
          }
      ]
  }
  ```

  La génération du code SQL inclut `Table A`, mais en exclut `Column A` lors de l’ajout d’un contexte.

**Important**  
Les exclusions de tables et de colonnes ne remplacent pas les barrières de protection. Ces inclusions et exclusions de tables et de colonnes servent de contexte supplémentaire à prendre en compte par le modèle lors de la génération du code SQL.

#### Communication d’exemples de mappages entre le langage naturel et les requêtes SQL au moteur de requêtes
<a name="w2aac28c10c27c15b9b3c17b5c15b5"></a>

Pour améliorer la précision d'un moteur de requêtes lors de la conversion des requêtes utilisateur en requêtes SQL, vous pouvez fournir des exemples dans le `curatedQueries` champ de l'[QueryGenerationContext](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_QueryGenerationContext.html)objet, qui correspond à un tableau d'[CuratedQuery](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CuratedQuery.html)objets. Chaque objet contient les champs suivants :
+ naturalLanguage : exemple de requête en langage naturel.
+ sql : requête SQL correspondant à la requête en langage naturel.

# Synchronisation de votre magasin de données structuré avec votre base de connaissances Amazon Bedrock
<a name="kb-data-source-structured-sync-ingest"></a>

Après avoir connecté votre base de connaissances à un magasin de données structuré, vous effectuez une synchronisation pour démarrer le processus d’ingestion des métadonnées afin que les données puissent être extraites. Les métadonnées permettent aux bases de connaissances Amazon Bedrock de traduire les invites utilisateur en une requête pour la base de données connectée.

Chaque fois que vous modifiez le schéma de votre base de données, vous devez synchroniser les modifications.

Pour découvrir comment intégrer vos métadonnées dans votre base de connaissances et les synchroniser avec vos données les plus récentes, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Console ]

**Pour intégrer vos données dans votre base de connaissances et les synchroniser avec vos données les plus récentes**

1. Ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/).

1. Dans le volet de navigation de gauche, sélectionnez **Base de connaissances** et choisissez votre base de connaissances.

1. Dans la section **Source de données**, sélectionnez **Synchroniser** pour commencer l’ingestion de métadonnées. Pour arrêter une source de données en cours de synchronisation, sélectionnez **Arrêter**. Une source de données doit être en cours de synchronisation pour arrêter la synchronisation de la source de données. Vous pouvez sélectionner à nouveau **Synchroniser** pour ingérer le reste de vos données.

1. Lorsque l’ingestion de données est terminée, une bannière verte apparaît en cas de réussite.

1. Vous pouvez choisir une source de données pour afficher son **historique de synchronisation**. Sélectionnez **Afficher les avertissements** pour savoir pourquoi une tâche d’ingestion de données a échoué.

------
#### [ API ]

Pour intégrer vos données dans votre base de connaissances et les synchroniser avec vos données les plus récentes, envoyez une demande [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt).

Utilisez le `ingestionJobId` renvoyé dans la réponse d’une demande [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) afin de suivre l’état de la tâche d’ingestion.

Vous pouvez consulter les informations relatives à toutes les tâches d’ingestion d’une source de données en envoyant une demande [ListIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt) au moment de la création.

Pour arrêter une tâche d’ingestion de données en cours d’exécution, envoyez une demande [StopIngestionJobs](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StopIngestionJob.html) avec un [point de terminaison de compilation pour agents Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt). Vous pouvez envoyer à nouveau une demande `StartIngestionJob` pour ingérer le reste de vos données lorsque vous serez prêt.

------

**Important**  
Si vous utilisez le rôle de service Amazon Bedrock Knowledge Bases créé pour vous dans la console, puis synchronisez votre magasin de données avant d’accorder l’accès à votre base de données au rôle d’authentification que vous utilisez, la synchronisation échoue, car l’utilisateur n’a pas obtenu les autorisations nécessaires pour accéder à votre magasin de données. Pour plus d’informations sur l’octroi d’autorisations à un rôle pour accéder à votre magasin de données, consultez [Autoriser le rôle de service de base de connaissances à accéder à votre magasin de données](knowledge-base-prereq-structured.md#knowledge-base-prereq-structured-db-access).