Crea un processo di importazione in blocco ()AWS CLI - AWS IoT SiteWise

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à.

Crea un processo di importazione in blocco ()AWS CLI

Usa l'CreateBulkImportJobAPIoperazione per trasferire dati da Amazon S3 a. AWS IoT SiteWiseCreateBulkImportJobAPIConsente l'ingestione di grandi volumi di dati storici e l'ingestione bufferizzata di flussi di dati analitici in piccoli lotti. Fornisce una primitiva economica per l'ingestione dei dati. Gli esempi seguenti utilizzano AWS CLI.

Importante

Prima di creare un processo di importazione in blocco, è necessario abilitare AWS IoT SiteWise il livello caldo o il livello freddo. AWS IoT SiteWise Per ulteriori informazioni, consulta Configurare le impostazioni di archiviazione.

CreateBulkImportJobAPISupporta l'inserimento di dati storici AWS IoT SiteWise con l'opzione di impostare il parametro. adaptive-ingestion-flag

  • Se impostato sufalse, API acquisisce i dati storici senza attivare calcoli o notifiche.

  • Se impostato sutrue, API acquisisce nuovi dati, calcola le metriche e trasforma i dati per ottimizzare le analisi e le notifiche continue entro sette giorni.

Esegui il comando seguente. Replace (Sostituisci) file-name con il nome del file che contiene la configurazione del processo di importazione in blocco.

aws iotsitewise create-bulk-import-job --cli-input-json file://file-name.json
Esempio Configurazione del processo di importazione in blocco

Di seguito sono riportati alcuni esempi di impostazioni di configurazione:

  • Replace (Sostituisci) adaptive-ingestion-flag con true ofalse.

    • Se impostato sufalse, il processo di importazione in blocco inserisce i dati storici in. AWS IoT SiteWise

    • Se impostato sutrue, il processo di importazione in blocco esegue le seguenti operazioni:

      • Inserisce nuovi dati in. AWS IoT SiteWise

      • Calcola metriche e trasformazioni e supporta notifiche per i dati con un timestamp entro sette giorni.

  • Replace (Sostituisci) delete-files-after-import-flag con true per eliminare i dati dal bucket di dati S3 dopo averli inseriti in uno storage di livello caldo. AWS IoT SiteWise

  • Sostituisci amzn-s3-demo-bucket-for-errors con il nome del bucket Amazon S3 a cui vengono inviati gli errori associati a questo processo di importazione in blocco.

  • Sostituisci amzn-s3-demo-bucket-for-errors-prefix con il prefisso del bucket Amazon S3 a cui vengono inviati gli errori associati a questo processo di importazione in blocco.

    Amazon S3 utilizza il prefisso come nome di cartella per organizzare i dati nel bucket. Ogni oggetto Amazon S3 ha una chiave che è il suo identificatore univoco nel bucket. Per ogni oggetto in un bucket è presente esattamente una chiave. Il prefisso deve terminare con una barra (/). Per ulteriori informazioni, consulta Organizing object using prefixes nella Amazon Simple Storage Service User Guide.

  • Sostituisci amzn-s3-demo-bucket-data con il nome del bucket Amazon S3 da cui vengono importati i dati.

  • Replace (Sostituisci) data-bucket-key con la chiave dell'oggetto Amazon S3 che contiene i tuoi dati. Ogni oggetto ha una chiave che è un identificatore univoco. Ogni oggetto ha esattamente una chiave.

  • Replace (Sostituisci) data-bucket-version-id con l'ID della versione per identificare una versione specifica dell'oggetto Amazon S3 che contiene i tuoi dati. Questo parametro è facoltativo.

  • Replace (Sostituisci) column-name con il nome della colonna specificato nel file.csv.

  • Replace (Sostituisci) job-name con un nome univoco che identifica il processo di importazione in blocco.

  • Replace (Sostituisci) job-role-arn con il IAM ruolo che consente di AWS IoT SiteWise leggere i dati di Amazon S3.

Nota

Assicurati che il tuo ruolo disponga delle autorizzazioni mostrate nell'esempio seguente. Sostituisci amzn-s3-demo-bucket-data con il nome del bucket Amazon S3 che contiene i tuoi dati. Inoltre, sostituisci amzn-s3-demo-bucket-for-errors con il nome del bucket Amazon S3 a cui vengono inviati gli errori associati a questo processo di importazione in blocco.

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