Creación de un índice - Amazon Kendra

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de un índice

Puede crear un índice mediante la consola o llamando a la CreateIndexAPI. Puedes usar AWS Command Line Interface (AWS CLI) o el SDK con la API. Después de crear el índice, puede agregar documentos directamente a él o desde un origen de datos.

Para crear un índice, debe proporcionar el nombre de recurso de Amazon (ARN) de una función AWS Identity and Access Management (IAM) para que los índices puedan acceder. CloudWatch Para obtener más información, consulte Roles de IAM para índices.

En las siguientes pestañas se proporciona un procedimiento para crear un índice mediante AWS Management Console, y ejemplos de código para utilizar los AWS CLI SDK de Python y Java.

Console
Para crear un índice
  1. Inicie sesión en la consola AWS de administración y abra la Amazon Kendra consola en https://console.aws.amazon.com/kendra/.

  2. Seleccione Create index (Crear índice) en la sección Indexes (Índices).

  3. En Specify index details (Especificar detalles de índice), proporcione a su índice un nombre y una descripción.

  4. En el IAM rol, proporcione un IAM rol. Para buscar un rol, elija entre los roles de su cuenta que contengan la palabra “kendra” o introduzca el nombre de otro rol. Para obtener más información sobre el rol y los permisos necesarios, consulte Roles de IAM para índices.

  5. Elija Next (Siguiente).

  6. En la página Configurar acceso del cliente, elija Siguiente paso. Puede actualizar el índice para utilizar tokens para el control de acceso después de crear un índice. Para más información, consulte Control de acceso a documentos.

  7. En la página Detalles de aprovisionamiento, elija Crear.

  8. El índice puede tardar un tiempo en crearse. Consulte la lista de índices para ver el progreso de la creación del índice. Cuando el estado del índice sea ACTIVE, el índice estará listo para utilizarse.

AWS CLI
Para crear un índice
  1. Utilice el siguiente comando para crear un índice. role-arnDebe ser el nombre de recurso de Amazon (ARN) de un IAM rol que pueda ejecutar Amazon Kendra acciones. Para obtener más información, consulte Roles de IAM.

    El comando tiene formato para Linux y macOS. Si está usando Windows, reemplace el carácter de continuación de línea de Unix (\) por un signo de intercalación (^).

    aws kendra create-index \ --name index name \ --description "index description" \ --role-arn arn:aws:iam::account ID:role/role name
  2. El índice puede tardar un tiempo en crearse. Para comprobar el estado de su índice, utilice el ID de índice devuelto por create-index con el comando siguiente. Cuando el estado del índice sea ACTIVE, el índice estará listo para utilizarse.

    aws kendra describe-index \ --index-id index ID
Python
Para crear un índice
  • Proporcione valores para las siguientes variables en el siguiente ejemplo de código:

    • description: una descripción del índice que está creando. Es opcional.

    • index_name: el nombre del índice que está creando.

    • role_arn—El nombre de recurso de Amazon (ARN) de un rol que puede ejecutar Amazon Kendra API. Para obtener más información, consulte Roles de IAM.

    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
Para crear un índice
  • Proporcione valores para las siguientes variables en el siguiente ejemplo de código:

    • description: una descripción del índice que está creando. Es opcional.

    • index_name: el nombre del índice que está creando.

    • role_arn—El nombre de recurso de Amazon (ARN) de un rol que puede ejecutar Amazon Kendra API. Para obtener más información, consulte Roles de IAM.

    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."); } }

Después de crear el índice, tendrá que añadir documentos a él. Puede añadirlos directamente o crear un origen de datos que actualice el índice de forma periódica.