Como criar uma fonte de dados do Amazon S3
Os exemplos a seguir demonstram a criação de uma fonte de dados do Amazon S3. Os exemplos pressupõem que você já tenha criado um índice e uma função do IAMcom permissão para ler os dados do índice. Para obter mais informações sobre funções do IAM, consulte Funções de acesso ao IAM. Para obter mais informações sobre como criar um índice, consulte Como criar um índice.
- CLI
-
aws kendra create-data-source \
--index-id index ID \
--name example-data-source \
--type S3 \
--configuration '{"S3Configuration":{"BucketName":"bucket name"}}'
--role-arn 'arn:aws:iam::account id:role:/role name
- Python
-
O trecho de código Python a seguir cria uma fonte de dados do Amazon S3. Para um exemplo completo, consulte Conceitos básicos do (AWS SDK para Python (Boto3)).
print("Create an Amazon S3 data source.")
# Provide a name for the data source
name = "getting-started-data-source"
# Provide an optional description for the data source
description = "Getting started data source."
# Provide the IAM role ARN required for data sources
role_arn = "arn:aws:iam::${accountID}:role/${roleName}"
# Provide the data soource connection information
s3_bucket_name = "S3-bucket-name"
type = "S3"
# Configure the data source
configuration = {"S3DataSourceConfiguration":
{
"BucketName": s3_bucket_name
}
}
data_source_response = kendra.create_data_source(
Configuration = configuration,
Name = name,
Description = description,
RoleArn = role_arn,
Type = type,
IndexId = index_id
)
Pode levar algum tempo para criar sua fonte de dados. Você pode monitorar o progresso usando a API DescribeDataSource. Quando o status da fonte de dados é ACTIVE, a fonte de dados está pronta para uso.
Os exemplos a seguir demonstram como obter o status de uma fonte de dados.
- CLI
-
aws kendra describe-data-source \
--index-id index ID \
--id data source ID
- Python
-
O trecho de código Python a seguir obtém informações sobre uma fonte de dados do S3. Para um exemplo completo, consulte Conceitos básicos do (AWS SDK para Python (Boto3)).
print("Wait for Amazon Kendra to create the data source.")
while True:
data_source_description = kendra.describe_data_source(
Id = "data-source-id",
IndexId = "index-id"
)
status = data_source_description["Status"]
print(" Creating data source. Status: "+status)
time.sleep(60)
if status != "CREATING":
break
Essa fonte de dados não tem um agendamento e, portanto, não é executada automaticamente. Para indexar a fonte de dados, chame startDataSourceSyncJob para sincronizar o índice com a fonte de dados.
Os exemplos a seguir demonstram a sincronização de uma fonte de dados.
- CLI
-
aws kendra start-data-source-sync-job \
--index-id index ID \
--id data source ID
- Python
-
O trecho de código Python a seguir sincroniza uma fonte de dados do Amazon S3. Para um exemplo completo, consulte Conceitos básicos do (AWS SDK para Python (Boto3)).
print("Synchronize the data source.")
sync_response = kendra.start_data_source_sync_job(
Id = "data-source-id",
IndexId = "index-id"
)