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

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

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

Le schede seguenti forniscono una procedura per creare un indice utilizzando AWS Management Console, ed esempi di codice per l'utilizzo di AWS CLI, Python e Java. SDKs

Console
Per creare un indice
  1. Accedi alla console di AWS gestione e apri la Amazon Kendra console 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. Scegli Next (Successivo).

  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 che può 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ò essere eseguito Amazon Kendra APIs. Per ulteriori informazioni, consulta IAM i ruoli.

    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ò essere eseguito Amazon Kendra APIs. Per ulteriori informazioni, consulta IAM i ruoli.

    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.