本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立索引
您可以使用 主控台或呼叫 CreateIndex 來建立索引API。您可以使用 AWS Command Line Interface (AWS CLI) 或 SDK搭配 API。建立索引後,您可以直接新增文件或從資料來源新增文件。
若要建立索引,您必須提供 (ARN) 角色的 Amazon Resource Name AWS Identity and Access Management (IAM),索引才能存取 CloudWatch。如需詳細資訊,請參閱IAM 索引的角色。
下列索引標籤提供使用 建立索引的程序 AWS Management Console,以及使用 的程式碼範例 AWS CLI,以及 Python 和 Java SDKs。
- Console
-
建立索引
-
登入 AWS 管理主控台,並在 開啟 Amazon Kendra 主控台https://console.aws.amazon.com/kendra/。
-
在索引區段中選取建立索引。
-
在指定索引詳細資訊中,為您的索引提供名稱和描述。
-
IAM 角色提供 IAM 角色。若要尋找角色,請從您帳戶中包含「kendra」一詞的 角色中選擇,或輸入另一個角色的名稱。如需角色所需許可的詳細資訊,請參閱IAM 索引的角色。
-
選擇 Next (下一步)。
-
在設定使用者存取控制頁面上,選擇下一步。您可以在建立索引之後,更新索引以使用字符進行存取控制。如需詳細資訊,請參閱控制文件的存取。
-
在佈建詳細資訊頁面上,選擇建立。
-
可能需要一些時間才能建立索引。檢查索引清單,以監控建立索引的進度。當索引的狀態為 時ACTIVE
,您的索引即可使用。
- AWS CLI
-
建立索引
-
使用下列命令來建立索引。role-arn
必須是可執行 Amazon Kendra 動作之 IAM 角色的 Amazon Resource Name (ARN)。如需詳細資訊,請參閱 IAM 角色。
命令已針對 Linux 和 macOS 格式化。如果您使用的是 Windows,請將 Unix 行連續字元 (\) 取代為八進位 (^)。
aws kendra create-index \
--name index name
\
--description "index description
" \
--role-arn arn:aws:iam::account ID
:role/role name
-
可能需要一些時間才能建立索引。若要檢查索引的狀態,請使用 傳回的索引 ID create-index
搭配下列命令。當索引的狀態為 時ACTIVE
,您的索引即可使用。
aws kendra describe-index \
--index-id index ID
- Python
-
建立索引
-
在下列程式碼範例中提供下列變數的值:
import boto3
from botocore.exceptions import ClientError
import pprint
import time
kendra = boto3.client("kendra")
print("Create an index.")
index_name = "index-name"
description = "index description"
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:
index_description = kendra.describe_index(
Id = index_id
)
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
-
建立索引
-
在下列程式碼範例中提供下列變數的值:
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.");
}
}
建立索引之後,您可以將文件新增至索引。您可以直接新增它們或建立資料來源,以定期更新索引。