Criar um índice - Amazon Kendra

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criar um índice

Você pode criar um índice usando o console ou chamando CreateIndexAPIo. Você pode usar o AWS Command Line Interface (AWS CLI) ou SDK com API o. Depois de criar o índice, você pode adicionar documentos diretamente a ele ou de uma fonte de dados.

Para criar um índice, você deve fornecer o Amazon Resource Name (ARN) de uma função AWS Identity and Access Management (IAM) para os índices CloudWatch acessarem. Para obter mais informações, consulte Funções do IAM para índices.

As guias a seguir fornecem um procedimento para criar um índice usando o AWS Management Console, e exemplos de código para usar o AWS CLI, e Python e Java. SDKs

Console
Para criar um índice
  1. Faça login no AWS Management Console e abra o Amazon Kendra console em https://console.aws.amazon.com/kendra/.

  2. Na seção Índices, escolha Criar índices.

  3. Na página Especificar detalhes do índice, dê um nome e uma descrição.

  4. Na IAM função, forneça uma IAM função. Para encontrar uma função, escolha uma das funções em sua conta que contenham a palavra “kendra” ou insira o nome de outra função. Para obter mais informações sobre as permissões que a função exige, consulte funções do IAM para índices.

  5. Escolha Próximo.

  6. Na página Configurar controle de acesso do usuário, escolha Próximo. Você pode atualizar o índice para usar tokens para controle de acesso depois de criar um índice. Para obter mais informações, consulte Controlando o acesso aos documentos.

  7. Na página Detalhes de provisionamento, escolha Criar.

  8. Pode levar algum tempo para que o índice seja criado. Verifique a lista de índices para acompanhar o progresso da criação do seu índice. Quando o status do índice é ACTIVE, o índice está pronto para uso.

AWS CLI
Para criar um índice
  1. Insira o seguinte comando para criar um índice: role-arnDeve ser o Amazon Resource Name (ARN) de uma IAM função que possa executar Amazon Kendra ações. Para obter mais informações, consulte Funções do IAM.

    O comando a seguir é formatado para Linux e macOS. Para Windows, substitua o caractere de continuação de linha do Unix (\) pelo circunflexo (^).

    aws kendra create-index \ --name index name \ --description "index description" \ --role-arn arn:aws:iam::account ID:role/role name
  2. Pode levar algum tempo para que o índice seja criado. Para verificar o estado do índice, use o ID do índice retornado create-index com o comando a seguir. Quando o status do índice é ACTIVE, o índice está pronto para uso.

    aws kendra describe-index \ --index-id index ID
Python
Para criar um índice
  • Forneça valores para as seguintes variáveis no exemplo de código a seguir:

    • description: uma descrição da índice que você está criando. Isso é opcional.

    • index_name: o nome da índice que você está criando.

    • role_arn—O Amazon Resource Name (ARN) de uma função que pode ser executada Amazon Kendra APIs. Para obter mais informações, consulte Funções do 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 criar um índice
  • Forneça valores para as seguintes variáveis no exemplo de código a seguir:

    • description: uma descrição da índice que você está criando. Isso é opcional.

    • index_name: o nome da índice que você está criando.

    • role_arn—O Amazon Resource Name (ARN) de uma função que pode ser executada Amazon Kendra APIs. Para obter mais informações, consulte Funções do 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."); } }

Depois de criar o índice, você adiciona documentos a ele. Você pode adicioná-los diretamente ou criar uma fonte de dados que atualize o índice regularmente.