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.
Utilisez l'opération CreateBulkImportJobd'API pour transférer des données d'Amazon S3 vers AWS IoT SiteWise. L'CreateBulkImportJobAPI permet l'ingestion de gros volumes de données historiques et l'ingestion en mémoire tampon de flux de données analytiques par petits lots. Il fournit une primitive rentable pour l'ingestion de données. L'exemple suivant repose sur 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 de plus amples informations, veuillez consulter Configurez les paramètres de stockage dans AWS IoT SiteWise.
L'CreateBulkImportJobAPI prend en charge l'ingestion de données historiques AWS IoT SiteWise avec la possibilité de définir le adaptive-ingestion-flag paramètre.
-
Lorsqu'elle est définie sur
false
, l'API ingère les données historiques sans déclencher de calculs ni de notifications. -
Lorsqu'elle est définie sur
true
, l'API ingère de nouvelles données, calcule des métriques et transforme les données afin d'optimiser les analyses et les notifications continues dans un délai de sept jours.
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
partrue
oufalse
.-
Si cette valeur est définie sur
false
, la tâche d'importation en bloc ingère les données historiques dans AWS IoT SiteWise. -
Si cette valeur est définie sur
true
, 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
partrue
pour supprimer les données du compartiment de données Amazon S3 après les avoir ingérées dans un système de stockage à AWS IoT SiteWise chaud. -
Remplacez amzn-s3-demo-bucket par le
-for-errors
nom du compartiment Amazon S3 auquel les erreurs associées à cette tâche d'importation en masse sont envoyées. -
Remplacez amzn-s3-demo-bucket par le
-for-errors-prefix
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 amzn-s3-demo-bucket par le
-data
nom du compartiment Amazon S3 à partir duquel les données sont importées. -
data-bucket-key
Remplacez-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-id
Remplacez-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
column-name
par le nom de colonne spécifié dans le fichier .csv. -
job-name
Remplacez-le par un nom unique identifiant la tâche d'importation en bloc. -
Remplacez
job-role-arn
par 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 amzn-s3-demo-bucket par le -data
nom du compartiment Amazon S3 qui contient vos données. Remplacez-le également amzn-s3-demo-bucket-for-errors
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:::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
"
}
Exemple réponse
{
"jobId":"f8c031d0-01d1-4b94-90b1-afe8bb93b7e5",
"jobStatus":"PENDING",
"jobName":"myBulkImportJob"
}