

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
<a name="create-index"></a>

Você pode criar um índice usando o console ou chamando a [CreateIndex](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateIndex.html)API. Você pode usar o AWS Command Line Interface (AWS CLI) ou o SDK com a API. 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 acessarem. CloudWatch Para obter mais informações, consulte [Funções do IAM para índices](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-index).

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

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

**Como criar um índice do**

1. Faça login no AWS Management Console e abra o Amazon Kendra console em [https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/).

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

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

1. 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.](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-index)

1. Escolha **Próximo**.

1. 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](https://docs.aws.amazon.com/kendra/latest/dg/create-index-access-control.html).

1. Na página **Detalhes de provisionamento**, escolha **Criar**.

1. 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 ]

**Como criar um índice do**

1. Insira o seguinte comando para criar um índice: `role-arn`Deve 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](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html).

   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}}
   ```

1. 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 ]

**Como criar um índice do**
+ Informe os 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](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html).

  ```
  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 ]

**Como criar um índice do**
+ Informe os 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](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html).

  ```
  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.

**Topics**
+ [Como adicionar documentos diretamente a um índice com o upload em lote.](in-adding-documents.md)
+ [Adicionar perguntas frequentes (FAQs) a um índice](in-creating-faq.md)
+ [Criação de campos de documentos personalizados](custom-attributes.md)
+ [Controle do acesso de usuários a documentos por token](create-index-access-control.md)