Crea un trabajo de importación por lotes (AWS CLI) - AWS IoT SiteWise

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crea un trabajo de importación por lotes (AWS CLI)

Utilice la CreateBulkImportJobAPIoperación para transferir datos de Amazon S3 a AWS IoT SiteWise. CreateBulkImportJobAPIEsto permite la ingesta de grandes volúmenes de datos históricos y la ingesta en búfer de flujos de datos analíticos en pequeños lotes. Proporciona un método básico rentable para la ingesta de datos. El siguiente ejemplo utiliza AWS CLI.

importante

Antes de crear un trabajo de importación masiva, debe habilitar el nivel AWS IoT SiteWise cálido o el nivel AWS IoT SiteWise frío. Para obtener más información, consulte Configurar los ajustes de almacenamiento.

CreateBulkImportJobAPIAdmite la ingesta de datos históricos AWS IoT SiteWise con la opción de configurar el adaptive-ingestion-flag parámetro.

  • Cuando se configura enfalse, API ingiere datos históricos sin activar cálculos ni notificaciones.

  • Cuando está configuradotrue, API ingiere nuevos datos, calcula métricas y transforma los datos para optimizar los análisis y las notificaciones continuos en un plazo de siete días.

Ejecute el siguiente comando de la . Reemplazar file-name con el nombre del archivo que contiene la configuración del trabajo de importación masiva.

aws iotsitewise create-bulk-import-job --cli-input-json file://file-name.json
ejemplo Configuración del trabajo de importación masiva

Los siguientes son ejemplos de opciones de configuración:

  • Reemplazar adaptive-ingestion-flag con true ofalse.

    • Si se establece enfalse, el trabajo de importación masiva ingiere datos históricos en AWS IoT SiteWise ellos.

    • Si se establece entrue, el trabajo de importación masiva hace lo siguiente:

      • Ingiere nuevos datos en. AWS IoT SiteWise

      • Calcula las métricas y las transforma, y admite las notificaciones de datos con una marca temporal de siete días.

  • Reemplazar delete-files-after-import-flag con el true fin de eliminar los datos del depósito de datos de S3 después de transferirlos a un almacenamiento de nivel AWS IoT SiteWise cálido.

  • Sustituya amzn-s3-demo-bucket-for-errors con el nombre del bucket de Amazon S3 al que se envían los errores asociados a este trabajo de importación masiva.

  • Sustituya amzn-s3-demo-bucket-for-errors-prefix con el prefijo del bucket de Amazon S3 al que se envían los errores asociados a este trabajo de importación masiva.

    Amazon S3 usa el prefijo como nombre de carpeta para organizar los datos del bucket. Cada objeto de Amazon S3 tiene una clave que es su identificador único en el bucket. Cada objeto de un bucket tiene exactamente una clave. El prefijo debe terminar con una barra diagonal: (/). Para obtener más información, consulte Organizar objetos usando prefijos en la Guía para usuarios de Amazon Simple Storage Service.

  • Sustituya amzn-s3-demo-bucket-data con el nombre del bucket de Amazon S3 desde el que se importan los datos.

  • Reemplazar data-bucket-key con la clave del objeto de Amazon S3 que contiene sus datos. Cada objeto tiene una clave que es un identificador único. Cada objeto tiene exactamente una clave.

  • Reemplazar data-bucket-version-id con el ID de versión para identificar una versión específica del objeto de Amazon S3 que contiene sus datos. Este parámetro es opcional.

  • Reemplazar column-name con el nombre de columna especificado en el archivo.csv.

  • Reemplazar job-name con un nombre único que identifique el trabajo de importación masiva.

  • Reemplazar job-role-arn con la IAM función que permite AWS IoT SiteWise leer los datos de Amazon S3.

nota

Asegúrese de que el rol tenga los permisos que se muestran en el siguiente ejemplo. Sustituya amzn-s3-demo-bucket-data con el nombre del bucket de Amazon S3 que contiene sus datos. Además, sustituya amzn-s3-demo-bucket-for-errors con el nombre del bucket de Amazon S3 al que se envían los errores asociados a este trabajo de importación masiva.

{ "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" }
ejemplo Respuesta
{ "jobId":"f8c031d0-01d1-4b94-90b1-afe8bb93b7e5", "jobStatus":"PENDING", "jobName":"myBulkImportJob" }