Creazione di un indice - Amazon Kendra

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un indice

Puoi creare un indice utilizzando la console o chiamando l'CreateIndexAPI. Puoi usare AWS Command Line Interface (AWS CLI) o SDK con l'API. Dopo aver creato l'indice, puoi aggiungere documenti direttamente all'indice o da una fonte di dati.

Per creare un indice, devi fornire l'Amazon Resource Name (ARN) di un ruolo AWS Identity and Access Management (IAM) a cui gli indici possano accedere. CloudWatch Per ulteriori informazioni, consulta i IAM ruoli per gli indici.

Le schede seguenti forniscono una procedura per creare un indice utilizzando gli ed esempi di codice per l' AWS Management Consoleutilizzo degli SDK AWS CLI Python e Java.

Console
Per creare un indice
  1. Accedere alla console AWS di gestione e aprirla Amazon Kendra all'indirizzo https://console.aws.amazon.com/kendra/.

  2. Seleziona Crea indice nella sezione Indici.

  3. In Specificare i dettagli dell'indice, assegna un nome e una descrizione all'indice.

  4. Nel IAM ruolo fornisci un IAM ruolo. Per trovare un ruolo, scegli tra i ruoli del tuo account che contengono la parola «kendra» o inserisci il nome di un altro ruolo. Per ulteriori informazioni sulle autorizzazioni richieste dal ruolo, consulta IAM ruoli per gli indici.

  5. Seleziona Avanti.

  6. Nella pagina Configura il controllo dell'accesso utente, scegli Avanti. Puoi aggiornare l'indice per utilizzare i token per il controllo degli accessi dopo aver creato un indice. Per ulteriori informazioni, vedere Controllo dell'accesso ai documenti.

  7. Nella pagina dei dettagli del provisioning, scegli Crea.

  8. La creazione dell'indice potrebbe richiedere del tempo. Controlla l'elenco degli indici per controllare lo stato di avanzamento della creazione dell'indice. Quando lo stato dell'indice è impostato suACTIVE, l'indice è pronto per l'uso.

AWS CLI
Per creare un indice
  1. Utilizzate il seguente comando per creare un indice. role-arnDeve essere l'Amazon Resource Name (ARN) di un IAM ruolo in grado di eseguire Amazon Kendra azioni. Per ulteriori informazioni, consulta IAM i ruoli.

    Il comando è formattato per Linux e macOS. Se utilizzate Windows, sostituite il carattere di continuazione della riga Unix (\) con un accento circonflesso (^).

    aws kendra create-index \ --name index name \ --description "index description" \ --role-arn arn:aws:iam::account ID:role/role name
  2. La creazione dell'indice potrebbe richiedere del tempo. Per verificare lo stato dell'indice, utilizzate l'ID dell'indice restituito da create-index con il comando seguente. Quando lo stato dell'indice èACTIVE, l'indice è pronto per l'uso.

    aws kendra describe-index \ --index-id index ID
Python
Per creare un indice
  • Fornite i valori per le seguenti variabili nell'esempio di codice che segue:

    • description—Una descrizione dell'indice che stai creando. Si tratta di un'opzione facoltativa.

    • index_name—Il nome dell'indice che stai creando.

    • role_arn—Amazon Resource Name (ARN) di un ruolo che può Amazon Kendra eseguire API. Per ulteriori informazioni, consulta i ruoli. 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
Per creare un indice
  • Fornite i valori per le seguenti variabili nell'esempio di codice che segue:

    • description—Una descrizione dell'indice che stai creando. Si tratta di un'opzione facoltativa.

    • index_name—Il nome dell'indice che stai creando.

    • role_arn—Amazon Resource Name (ARN) di un ruolo che può Amazon Kendra eseguire API. Per ulteriori informazioni, consulta i ruoli. 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."); } }

Dopo aver creato l'indice, puoi aggiungervi dei documenti. Puoi aggiungerli direttamente o creare una fonte di dati che aggiorni l'indice a intervalli regolari.