

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membuat Indeks
<a name="create-index"></a>

Anda dapat membuat indeks menggunakan konsol, atau dengan memanggil [CreateIndex](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateIndex.html)API. Anda dapat menggunakan AWS Command Line Interface (AWS CLI) atau SDK dengan API. Setelah Anda membuat indeks Anda, Anda dapat menambahkan dokumen langsung ke sana atau dari sumber data.

Untuk membuat indeks, Anda harus memberikan Amazon Resource Name (ARN) peran AWS Identity and Access Management (IAM) agar indeks dapat diakses. CloudWatch Untuk informasi selengkapnya, lihat [IAM peran untuk indeks](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-index).

Tab berikut menyediakan prosedur untuk membuat indeks dengan menggunakan Konsol Manajemen AWS, dan contoh kode untuk menggunakan AWS CLI, dan Python dan Java. SDKs

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

**Untuk membuat indeks**

1. Masuk ke Konsol AWS Manajemen dan buka Amazon Kendra konsol di [https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/).

1. Pilih **Buat indeks** di bagian **Indeks**.

1. Pada **Tentukan detail indeks**, beri indeks Anda nama dan deskripsi.

1. Dalam **IAM peran** memberikan IAM peran. Untuk menemukan peran, pilih dari peran di akun Anda yang berisi kata “kendra” atau masukkan nama peran lain. Untuk informasi selengkapnya tentang izin yang diperlukan peran, lihat [IAM peran untuk indeks](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-index).

1. Pilih **Berikutnya**.

1. Di halaman **Konfigurasikan kontrol akses pengguna**, pilih **Selanjutnya**. Anda dapat memperbarui indeks untuk menggunakan token untuk kontrol akses setelah membuat indeks. Untuk informasi selengkapnya, lihat [Mengontrol akses ke dokumen](https://docs.aws.amazon.com/kendra/latest/dg/create-index-access-control.html).

1. **Pada halaman **Detail penyediaan**, pilih Buat.**

1. Mungkin perlu beberapa waktu untuk membuat indeks. Periksa daftar indeks untuk melihat kemajuan pembuatan indeks Anda. Ketika status indeks `ACTIVE`, indeks Anda siap digunakan.

------
#### [ AWS CLI ]

**Untuk membuat indeks**

1. Gunakan perintah berikut ini untuk membuat indeks. `role-arn`Harus berupa Nama Sumber Daya Amazon (ARN) dari IAM peran yang dapat menjalankan Amazon Kendra tindakan. Untuk informasi selengkapnya, lihat [IAM peran](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html).

   Perintah ini diformat untuk Linux dan macOS. Jika menggunakan Windows, ganti karakter kelanjutan baris Unix (\\) dengan caret (^).

   ```
   aws kendra create-index \
    --name {{index name}} \
    --description "{{index description}}" \
    --role-arn arn:aws:iam::{{account ID}}:role/{{role name}}
   ```

1. Mungkin perlu beberapa waktu untuk membuat indeks. Untuk memeriksa status indeks Anda, gunakan ID indeks yang dikembalikan `create-index` dengan perintah berikut. Ketika status indeks `ACTIVE`, indeks Anda siap digunakan.

   ```
   aws kendra describe-index \
    --index-id {{index ID}}
   ```

------
#### [ Python ]

**Untuk membuat indeks**
+ Berikan nilai untuk variabel berikut dalam contoh kode berikut:
  + `description`—Deskripsi indeks yang Anda buat. Ini opsional.
  + `index_name`—Nama indeks yang Anda buat.
  + `role_arn`—Nama Sumber Daya Amazon (ARN) dari peran yang dapat dijalankan. Amazon Kendra APIs Untuk informasi selengkapnya, lihat [IAM peran](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 ]

**Untuk membuat indeks**
+ Berikan nilai untuk variabel berikut dalam contoh kode berikut:
  + `description`—Deskripsi indeks yang Anda buat. Ini opsional.
  + `index_name`—Nama indeks yang Anda buat.
  + `role_arn`—Nama Sumber Daya Amazon (ARN) dari peran yang dapat dijalankan. Amazon Kendra APIs Untuk informasi selengkapnya, lihat [IAM peran](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.");
      }
  }
  ```

------

Setelah Anda membuat indeks Anda, Anda menambahkan dokumen ke dalamnya. Anda dapat menambahkannya secara langsung atau membuat sumber data yang memperbarui indeks Anda pada jadwal reguler.

**Topics**
+ [Menambahkan dokumen langsung ke indeks dengan batch upload](in-adding-documents.md)
+ [Menambahkan pertanyaan yang sering diajukan (FAQs) ke indeks](in-creating-faq.md)
+ [Membuat bidang dokumen kustom](custom-attributes.md)
+ [Mengontrol akses pengguna ke dokumen dengan token](create-index-access-control.md)