Création d'un index - Amazon Kendra

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'un index

Vous pouvez créer un index à l'aide de la console ou en appelant l'CreateIndexAPI. Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) ou le SDK avec l'API. Après avoir créé votre index, vous pouvez y ajouter des documents directement ou à partir d'une source de données.

Pour créer un index, vous devez fournir le nom de ressource Amazon (ARN) d'un rôle AWS Identity and Access Management (IAM) auquel les index peuvent accéder CloudWatch. Pour plus d'informations, consultez la section IAM Rôles pour les index.

Les onglets suivants fournissent une procédure pour créer un index à l'aide des AWS Management Console SDK Python et Java AWS CLI, ainsi que des exemples de code pour les utiliser.

Console
Pour créer un index
  1. Connectez-vous à la console AWS de gestion et ouvrez-la à l' Amazon Kendra adresse https://console.aws.amazon.com/kendra/.

  2. Sélectionnez Créer un index dans la section Index.

  3. Dans Spécifier les détails de l'index, donnez un nom et une description à votre index.

  4. Dans IAM le rôle, indiquez un IAM rôle. Pour trouver un rôle, choisissez parmi les rôles de votre compte qui contiennent le mot « kendra » ou entrez le nom d'un autre rôle. Pour plus d'informations sur les autorisations requises par le rôle, consultez la section IAM Rôles pour les index.

  5. Choisissez Suivant.

  6. Sur la page Configurer le contrôle d'accès utilisateur, choisissez Next. Vous pouvez mettre à jour votre index afin d'utiliser des jetons pour le contrôle d'accès après avoir créé un index. Pour plus d'informations, consultez la section Contrôle de l'accès aux documents.

  7. Sur la page des détails du provisionnement, choisissez Create.

  8. La création de l'index peut prendre un certain temps. Consultez la liste des index pour suivre la progression de la création de votre index. Lorsque le statut de l'index est définiACTIVE, votre index est prêt à être utilisé.

AWS CLI
Pour créer un index
  1. Utilisez la commande suivante pour créer un index. role-arnIl doit s'agir du Amazon Resource Name (ARN) d'un IAM rôle capable d'exécuter Amazon Kendra des actions. Pour plus d'informations, consultez la section IAM Rôles.

    La commande est formatée pour Linux et macOS. Si vous utilisez Windows, remplacez le caractère de continuation de ligne Unix (\) par un curseur (^).

    aws kendra create-index \ --name index name \ --description "index description" \ --role-arn arn:aws:iam::account ID:role/role name
  2. La création de l'index peut prendre un certain temps. Pour vérifier l'état de votre index, utilisez l'ID d'index renvoyé create-index par la commande suivante. Lorsque le statut de l'index est définiACTIVE, votre index est prêt à être utilisé.

    aws kendra describe-index \ --index-id index ID
Python
Pour créer un index
  • Fournissez des valeurs pour les variables suivantes dans l'exemple de code ci-dessous :

    • description: une description de l'index que vous créez. Ce nom est facultatif.

    • index_name: le nom de l'index que vous créez.

    • role_arn—Le nom de ressource Amazon (ARN) d'un rôle capable d'exécuter Amazon Kendra des API. Pour plus d'informations, consultez la section IAM Rôles.

    import boto3 from botocore.exceptions import ClientError import pprint import time kendra = boto3.client("kendra") print("Create an index.") # Provide a name for the index index_name = "index-name" # Provide an optional description for the index description = "index description" # Provide the IAM role ARN required for indexes role_arn = "arn:aws:iam::${account id}:role/${role name}" try: index_response = kendra.create_index( Name = index_name, Description = description, RoleArn = role_arn ) pprint.pprint(index_response) index_id = index_response["Id"] print("Wait for Amazon Kendra to create the index.") while True: # Get the details of the index, such as the status index_description = kendra.describe_index( Id = index_id ) # If status is not CREATING, then quit status = index_description["Status"] print(" Creating index. Status: "+status) if status != "CREATING": break time.sleep(60) except ClientError as e: print("%s" % e) print("Program ends.")
Java
Pour créer un index
  • Fournissez des valeurs pour les variables suivantes dans l'exemple de code ci-dessous :

    • description: une description de l'index que vous créez. Ce nom est facultatif.

    • index_name: le nom de l'index que vous créez.

    • role_arn—Le nom de ressource Amazon (ARN) d'un rôle capable d'exécuter Amazon Kendra des API. Pour plus d'informations, consultez la section IAM Rôles.

    package com.amazonaws.kendra; import java.util.concurrent.TimeUnit; import software.amazon.awssdk.services.kendra.KendraClient; import software.amazon.awssdk.services.kendra.model.CreateIndexRequest; import software.amazon.awssdk.services.kendra.model.CreateIndexResponse; import software.amazon.awssdk.services.kendra.model.DescribeIndexRequest; import software.amazon.awssdk.services.kendra.model.DescribeIndexResponse; import software.amazon.awssdk.services.kendra.model.IndexStatus; public class CreateIndexExample { public static void main(String[] args) throws InterruptedException { String indexDescription = "Getting started index for Kendra"; String indexName = "java-getting-started-index"; String indexRoleArn = "arn:aws:iam::<your AWS account ID>:role/KendraRoleForGettingStartedIndex"; System.out.println(String.format("Creating an index named %s", indexName)); CreateIndexRequest createIndexRequest = CreateIndexRequest .builder() .description(indexDescription) .name(indexName) .roleArn(indexRoleArn) .build(); KendraClient kendra = KendraClient.builder().build(); CreateIndexResponse createIndexResponse = kendra.createIndex(createIndexRequest); System.out.println(String.format("Index response %s", createIndexResponse)); String indexId = createIndexResponse.id(); System.out.println(String.format("Waiting until the index with ID %s is created.", indexId)); while (true) { DescribeIndexRequest describeIndexRequest = DescribeIndexRequest.builder().id(indexId).build(); DescribeIndexResponse describeIndexResponse = kendra.describeIndex(describeIndexRequest); IndexStatus status = describeIndexResponse.status(); if (status != IndexStatus.CREATING) { break; } TimeUnit.SECONDS.sleep(60); } System.out.println("Index creation is complete."); } }

Après avoir créé votre index, vous y ajoutez des documents. Vous pouvez les ajouter directement ou créer une source de données qui met régulièrement à jour votre index.