Criar um trabalho de importação em massa (AWS CLI) - AWS IoT SiteWise

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criar um trabalho de importação em massa (AWS CLI)

Use a operação de CreateBulkImportJobAPI para transferir dados do Amazon S3 para o. AWS IoT SiteWise A CreateBulkImportJobAPI permite a ingestão de grandes volumes de dados históricos e a ingestão em buffer de fluxos de dados analíticos em pequenos lotes. Ele fornece uma primitiva econômica para ingestão de dados. O exemplo a seguir usa a AWS CLI.

Importante

Antes de criar um trabalho de importação em massa, você deve habilitar o nível AWS IoT SiteWise quente ou o nível AWS IoT SiteWise frio. Para ter mais informações, consulte Definir configurações de armazenamento.

A CreateBulkImportJobAPI suporta a ingestão de dados históricos AWS IoT SiteWise com a opção de definir o adaptive-ingestion-flag parâmetro.

  • Quando configurada comofalse, a API ingere dados históricos sem acionar cálculos ou notificações.

  • Quando configurada comotrue, a API ingere novos dados, calcula métricas e transforma os dados para otimizar análises e notificações contínuas em sete dias.

Execute o seguinte comando . Substitua file-name pelo nome do arquivo que contém a configuração de trabalho de importação em massa.

aws iotsitewise create-bulk-import-job --cli-input-json file://file-name.json
exemplo Configuração do trabalho de importação em massa

Veja a seguir exemplos de definições de configuração:

  • Substitua adaptive-ingestion-flag por true ou false.

    • Se definido comofalse, o trabalho de importação em massa ingere dados históricos em AWS IoT SiteWise.

    • Se definido comotrue, o trabalho de importação em massa faz o seguinte:

      • Ingere novos dados em. AWS IoT SiteWise

      • Calcula métricas e transformações, além de oferecer suporte a notificações de dados com um registro de data e hora em sete dias.

  • Substitua delete-files-after-import-flag por true para excluir os dados do bucket de dados do S3 após serem ingeridos no armazenamento de camada AWS IoT SiteWise quente.

  • Substitua o error-bucket pelo nome do bucket do Amazon S3 para o qual os erros associados a esse trabalho de importação em massa são enviados.

  • error-bucket-prefixSubstitua pelo prefixo do bucket do Amazon S3 para o qual os erros associados a esse trabalho de importação em massa são enviados.

    O Amazon S3 usa o prefixo como nome de pasta para organizar os dados no bucket. Cada objeto em um bucket do Amazon S3 tem uma chave que é seu identificador exclusivo no bucket. Cada objeto em um bucket tem exatamente uma chave. O prefixo deve terminar com uma barra (/). Para obter mais informações, consulte Organizing objects using prefixes no Guia do usuário do Amazon Simple Storage Service.

  • Substitua data-bucket pelo nome do bucket do Amazon S3 do qual os dados são importados.

  • data-bucket-keySubstitua pela chave do objeto Amazon S3 que contém seus dados. Cada objeto tem uma chave que é um identificador exclusivo. Cada objeto tem exatamente uma chave.

  • data-bucket-version-idSubstitua pelo ID da versão para identificar uma versão específica do objeto Amazon S3 que contém seus dados. Esse parâmetro é opcional.

  • Substitua o column-name pelo nome da coluna especificado no arquivo .csv.

  • Substitua o job-name por um nome exclusivo que identifique o trabalho de importação em massa.

  • job-role-arnSubstitua pela função do IAM que AWS IoT SiteWise permite ler dados do Amazon S3.

nota

Certifique-se de que sua função tem as permissões do exemplo a seguir: Substitua o data-bucket pelo nome do bucket do Amazon S3 que contém seus dados. Além disso, substitua o bucket de erros pelo nome do bucket do Amazon S3 para o qual os erros associados a esse trabalho de importação em massa são enviados.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::data-bucket", "arn:aws:s3:::data-bucket/*", ], "Effect": "Allow" }, { "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::error-bucket", "arn:aws:s3:::error-bucket/*" ], "Effect": "Allow" } ] }
{ "adaptiveIngestion": adaptive-ingestion-flag, "deleteFilesAfterImport": delete-files-after-import-flag, "errorReportLocation": { "bucket": "error-bucket", "prefix": "error-bucket-prefix" }, "files": [ { "bucket": "data-bucket", "key": "data-bucket-key", "versionId": "data-bucket-version-id" } ], "jobConfiguration": { "fileFormat": { "csv": { "columnNames": [ "column-name" ] } } }, "jobName": "job-name", "jobRoleArn": "job-role-arn" }
exemplo Retorno
{ "jobId":"f8c031d0-01d1-4b94-90b1-afe8bb93b7e5", "jobStatus":"PENDING", "jobName":"myBulkImportJob" }