Création d'une tâche d'importation en bloc (AWS CLI) - AWS IoT SiteWise

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'une tâche d'importation en bloc (AWS CLI)

Utilisez l'opération CreateBulkImportJobd'API pour transférer des données d'Amazon S3 vers AWS IoT SiteWise. Utilisez l'CreateBulkImportJobAPI pour ingérer des données par petits lots de manière rentable. L’exemple suivant utilise AWS CLI.

Important

Avant de créer une tâche d'importation en bloc, vous devez activer le niveau AWS IoT SiteWise chaud ou le niveau AWS IoT SiteWise froid. Pour plus d’informations, consultez Configuration des paramètres de stockage.

L'importation en bloc est conçue pour stocker les données historiques dans AWS IoT SiteWise. Il ne lance pas de calculs ni de notifications en mode AWS IoT SiteWise chaud ou en mode AWS IoT SiteWise froid.

Exécutez la commande suivante. Remplacez file-name par le nom du fichier contenant la configuration de la tâche d'importation en bloc.

aws iotsitewise create-bulk-import-job --cli-input-json file://file-name.json
Exemple Configuration des tâches d'importation en bloc

Voici des exemples de paramètres de configuration :

  • Remplacez adaptive-ingestion-flag par true ou false.

    • Si cette valeur est définie surfalse, la tâche d'importation en bloc ingère les données historiques dans AWS IoT SiteWise.

    • Si cette valeur est définie surtrue, la tâche d'importation en bloc effectue les opérations suivantes :

      • Ingère de nouvelles données dans. AWS IoT SiteWise

      • Calcule les métriques et les transforme, et prend en charge les notifications pour les données dont l'horodatage est établi dans les sept jours.

  • Remplacez delete-files-after-import-flag par true pour supprimer les données du compartiment de données S3 après les avoir ingérées dans un stockage à AWS IoT SiteWise chaud.

  • Remplacez error-bucket par le nom du compartiment Amazon S3 auquel les erreurs associées à cette tâche d'importation en masse sont envoyées.

  • error-bucket-prefixRemplacez-le par le préfixe du compartiment Amazon S3 auquel les erreurs associées à cette tâche d'importation en masse sont envoyées.

    Amazon S3 utilise le préfixe comme nom de dossier pour organiser les données dans le compartiment. Chaque objet Amazon S3 possède une clé qui constitue son identifiant unique dans le compartiment. Chaque objet d'un compartiment possède une clé et une seule. Le préfixe doit se terminer par une barre oblique (/). Pour plus d'informations, consultez la section Organisation des objets à l'aide de préfixes dans le guide de l'utilisateur d'Amazon Simple Storage Service.

  • Remplacez data-bucket par le nom du bucket Amazon S3 à partir duquel les données sont importées.

  • data-bucket-keyRemplacez-la par la clé de l'objet Amazon S3 qui contient vos données. Chaque objet a une clé qui est un identifiant unique. Chaque objet a exactement une clé.

  • data-bucket-version-idRemplacez-le par l'ID de version pour identifier une version spécifique de l'objet Amazon S3 contenant vos données. Ce paramètre est facultatif.

  • Remplacez le nom de colonne par le nom de colonne spécifié dans le fichier .csv.

  • Remplacez le nom de la tâche par un nom unique identifiant la tâche d'importation en bloc.

  • Remplacez job-role-arnpar le rôle IAM qui permet AWS IoT SiteWise de lire les données Amazon S3.

Note

Assurez-vous que votre rôle dispose des autorisations indiquées dans l'exemple suivant. Remplacez data-bucket par le nom du bucket Amazon S3 qui contient vos données. Remplacez également error-bucket par le nom du compartiment Amazon S3 auquel les erreurs associées à cette tâche d'importation en masse sont envoyées.

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