Créez des modèles de tâches personnalisés à l’aide du AWS CLI - AWS IoT Core

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éez des modèles de tâches personnalisés à l’aide du AWS CLI

Cette rubrique explique comment créer, supprimer et récupérer des informations sur les modèles de tâches à l’aide de AWS CLI.

Créer une tâche à partir de zéro

La AWS CLI commande suivante montre comment créer une tâche à l'aide d'un document de tâche (job-document.json) stocké dans un compartiment S3 et d'un rôle autorisé à télécharger des fichiers depuis Amazon S3 (S3). DownloadRole

aws iot create-job-template \ --job-template-id 010 \ --document-source https://s3.amazonaws.com/my-s3-bucket/job-document.json \ --timeout-config inProgressTimeoutInMinutes=100 \ --job-executions-rollout-config "{ \"exponentialRate\": { \"baseRatePerMinute\": 50, \"incrementFactor\": 2, \"rateIncreaseCriteria\": { \"numberOfNotifiedThings\": 1000, \"numberOfSucceededThings\": 1000}}, \"maximumPerMinute\": 1000}" \ --abort-config "{ \"criteriaList\": [ { \"action\": \"CANCEL\", \"failureType\": \"FAILED\", \"minNumberOfExecutedThings\": 100, \"thresholdPercentage\": 20}, { \"action\": \"CANCEL\", \"failureType\": \"TIMED_OUT\", \"minNumberOfExecutedThings\": 200, \"thresholdPercentage\": 50}]}" \ --presigned-url-config "{\"roleArn\":\"arn:aws:iam::123456789012:role/S3DownloadRole\", \"expiresInSec\":3600}"

Le paramètre timeout-config facultatif spécifie la durée allouée à chaque appareil pour terminer l’exécution de la tâche. Le minuteur est démarré quand l'état de l'exécution de la tâche a la valeur IN_PROGRESS. Si l’état de l’exécution de la tâche n’est pas défini sur un autre état terminal avant l’expiration, il est défini avec la valeur TIMED_OUT.

Le minuteur en cours ne peut pas être mis à jour et s'applique à toutes les lancements de tâche pour la tâche. Chaque fois qu'un lancement de tâche reste dans l'IN_PROGRESSétat pendant plus longtemps que cet intervalle, le lancement de tâche échoue et passe à l'TIMED_OUTétat du terminal. AWS IoT publie également une notification MQTT.

Pour plus d'informations sur la création de configurations relatives aux déploiements et interruptions de tâche, consultez la section Configuration du déploiement et de l'interruption des tâches.

Note

Les documents de tâche qui sont spécifiés en tant que fichiers Amazon S3 sont extraits au moment de la création de la tâche. Si vous modifiez le contenu du fichier Amazon S3 que vous avez utilisé comme source de votre document de tâche après avoir créé la tâche, ce qui est envoyé aux cibles de la tâche ne change pas.

Création d’un modèle de tâche à partir d’une tâche existante

La AWS CLI commande suivante crée un modèle de tâche en spécifiant le nom de ressource Amazon (ARN) d'une tâche existante. Le nouveau modèle de tâche utilise toutes les configurations spécifiées dans la tâche. Vous pouvez éventuellement modifier n’importe quelle configuration de la tâche existante en utilisant l’un des paramètres facultatifs.

aws iot create-job-template \ --job-arn arn:aws:iot:region:123456789012:job/job-name \ --timeout-config inProgressTimeoutInMinutes=100

Récupère des détails sur un modèle de tâche

La AWS CLI commande suivante permet d'obtenir des informations sur un modèle de tâche spécifié.

aws iot describe-job-template \ --job-template-id template-id

La commande affiche la sortie suivante :

{ "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": number, "thresholdPercentage": number } ] }, "createdAt": number, "description": "string", "document": "string", "documentSource": "string", "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": number, "incrementFactor": number, "rateIncreaseCriteria": { "numberOfNotifiedThings": number, "numberOfSucceededThings": number } }, "maximumPerMinute": number }, "jobTemplateArn": "string", "jobTemplateId": "string", "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "timeoutConfig": { "inProgressTimeoutInMinutes": number } }

Répertorier les modèles de tâche

La AWS CLI commande suivante répertorie tous les modèles de tâches de votre Compte AWS.

aws iot list-job-templates

La commande affiche la sortie suivante :

{ "jobTemplates": [ { "createdAt": number, "description": "string", "jobTemplateArn": "string", "jobTemplateId": "string" } ], "nextToken": "string" }

Pour récupérer des pages de résultats supplémentaires, utilisez la valeur du champ nextToken.

Supprimer un modèle de tâche

La AWS CLI commande suivante supprime un modèle de tâche spécifié.

aws iot delete-job-template \ --job-template-id template-id

La commande n'affiche aucune sortie.

Créer une tâche à partir d’un modèle de tâche personnalisé

La AWS CLI commande suivante crée une tâche à partir d'un modèle de tâche personnalisé. Il cible un appareil nommé thingOne et spécifie l’Amazon Resource Name (ARN) du modèle de tâche à utiliser comme base de la tâche. Vous pouvez annuler les configurations avancées, telles que les configurations de temporisation et d’annulation, en transmettant les paramètres associés à la commande create-job.

Avertissement

L’objet document-parameters doit être utilisé avec la commande create-job uniquement lors de la création de tâches à partir de modèles gérés AWS . Cet objet ne doit pas être utilisé avec des modèles de tâches personnalisés. Pour obtenir un exemple pratique illustrant la création de tâches à l’aide de ce paramètre, consultez Création d’une tâche à l’aide de modèles gérés.

aws iot create-job \ --targets arn:aws:iot:region:123456789012:thing/thingOne \ --job-template-arn arn:aws:iot:region:123456789012:jobtemplate/template-id