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 de sous-déploiements
Note
La fonctionnalité de sous-déploiement est disponible sur Greengrass nucleus version 2.9.0 et versions ultérieures. Il n'est pas possible de déployer une configuration dans un sous-déploiement comportant des versions antérieures des composants du noyau Greengrass.
Un sous-déploiement est un déploiement qui cible un plus petit sous-ensemble d'appareils au sein d'un déploiement parent. Vous pouvez utiliser des sous-déploiements pour déployer une configuration sur un plus petit sous-ensemble d'appareils. Vous pouvez également créer des sous-déploiements pour réessayer un déploiement parent infructueux lorsqu'un ou plusieurs appareils de ce déploiement parent échouent. Grâce à cette fonctionnalité, vous pouvez sélectionner les appareils qui ont échoué lors de ce déploiement parent et créer un sous-déploiement pour tester les configurations jusqu'à ce que le sous-déploiement soit réussi. Une fois le sous-déploiement réussi, vous pouvez redéployer cette configuration vers le déploiement parent.
Suivez les étapes décrites dans cette section pour créer un sous-déploiement et vérifier son statut. Pour plus d'informations sur la création de déploiements, consultez la section Créer des déploiements.
Pour créer un sous-déploiement ()AWS CLI
-
Exécutez la commande suivante pour récupérer les derniers déploiements d'un groupe d'objets. Remplacez l'ARN de la commande par l'ARN du groupe d'objets à interroger. Configurez
LATEST_ONLYsurpour voir le dernier déploiement de ce groupe d'objets.--history-filteraws greengrassv2 list-deployments--target-arnarn:aws:iot:region:account-id:thinggroup/thingGroupName--history-filterLATEST_ONLY -
Copiez le contenu
deploymentIdde la réponse à la list-deployments commande à utiliser à l'étape suivante. -
Exécutez la commande suivante pour récupérer l'état d'un déploiement. Remplacez
par l'ID du déploiement à interroger.deploymentIdaws greengrassv2 get-deployment--deployment-iddeploymentId -
Copiez le contenu
iotJobIdde la réponse à la get-deployment commande à utiliser à l'étape suivante. -
Exécutez la commande suivante pour récupérer la liste des exécutions de tâches pour la tâche spécifiée. Remplacez
jobIDpar celuiiotJobIdde l'étape précédente. Remplacezstatuspar le statut pour lequel vous souhaitez filtrer. Vous pouvez filtrer les résultats avec les statuts suivants :-
QUEUED -
IN_PROGRESS -
SUCCEEDED -
FAILED -
TIMED_OUT -
REJECTED -
REMOVED -
CANCELED
aws iot list-job-executions-for-job--job-idjobID--statusstatus -
-
Créez un nouveau AWS IoT groupe d'objets ou utilisez un groupe d'objets existant pour votre sous-déploiement. Ajoutez ensuite un AWS IoT objet à ce groupe d'objets. Vous utilisez des groupes d'objets pour gérer des flottes d'appareils principaux de Greengrass. Lorsque vous déployez des composants logiciels sur vos appareils, vous pouvez cibler des appareils individuels ou des groupes d'appareils. Vous pouvez ajouter un appareil à un groupe d'objets avec un déploiement Greengrass actif. Une fois ajoutés, vous pouvez déployer les composants logiciels de ce groupe d'objets sur cet appareil.
Pour créer un nouveau groupe d'objets et y ajouter vos appareils, procédez comme suit :
-
Créez un groupe AWS IoT d'objets. Remplacez
MyGreengrassCoreGrouppar le nom du nouveau groupe d'objets. Vous ne pouvez pas utiliser de deux-points (:) dans le nom d'un groupe d'objets.Note
Si un groupe d'objets pour un sous-déploiement est utilisé avec un autre
parentTargetArn, il ne peut pas être réutilisé avec un autre parc parent. Si un groupe d'objets a déjà été utilisé pour créer un sous-déploiement pour une autre flotte, l'API renvoie une erreur.aws iot create-thing-group--thing-group-nameMyGreengrassCoreGroupSi la demande aboutit, la réponse ressemble à l'exemple suivant :
{ "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" } -
Ajoutez un noyau Greengrass provisionné à votre groupe d'objets. Exécutez la commande suivante avec les paramètres suivants :
-
MyGreengrassCoreRemplacez-le par le nom de votre noyau Greengrass provisionné. -
MyGreengrassCoreGroupRemplacez-le par le nom de votre groupe d'objets.
aws iot add-thing-to-thing-group--thing-nameMyGreengrassCore--thing-group-nameMyGreengrassCoreGroupLa commande n'a aucune sortie si la demande aboutit.
-
-
-
Créez un fichier appelé
deployment.json, puis copiez l'objet JSON suivant dans le fichier.targetArnRemplacez-le par l'ARN du AWS IoT groupe d'objets à cibler pour le sous-déploiement. Une cible de sous-déploiement ne peut être qu'un groupe d'objets. Les groupes ARNs d'objets ont le format suivant :-
Groupe d'objets —
arn:aws:iot:region:account-id:thinggroup/thingGroupName
{ "targetArn": "targetArn" } -
-
Exécutez à nouveau la commande suivante pour obtenir les détails du déploiement d'origine. Ces détails incluent les métadonnées, les composants et la configuration des tâches. Remplacez
deploymentIdpar l'identifiant deÉtape 1. Vous pouvez utiliser cette configuration de déploiement pour configurer votre sous-déploiement et apporter les modifications nécessaires.aws greengrassv2 get-deployment--deployment-iddeploymentIdLa réponse contient les détails du déploiement. Copiez l'une des paires clé-valeur suivantes depuis la réponse de la get-deployment commande dans.
deployment.jsonVous pouvez modifier ces valeurs pour le sous-déploiement. Pour plus d'informations sur les détails de cette commande, consultez GetDeployment.-
components— Les composants du déploiement. Pour désinstaller un composant, supprimez-le de cet objet. -
deploymentName— Le nom du déploiement. -
deploymentPolicies— Les politiques du déploiement. -
iotJobConfiguration— La configuration des tâches du déploiement. -
parentTargetArn— La cible du déploiement parent. -
tags— Les tags du déploiement.
-
-
Exécutez la commande suivante pour créer le sous-déploiement à partir de
deployment.json.subdeploymentNameRemplacez-le par un nom pour le sous-déploiement.aws greengrassv2 create-deployment--deployment-namesubdeploymentName--cli-input-jsonfile://deployment.jsonLa réponse inclut un identifiant
deploymentIdce sous-déploiement. Vous pouvez utiliser l'ID de déploiement pour vérifier l'état du déploiement. Pour plus d'informations, voir Vérifier l'état du déploiement. -
Si le sous-déploiement est réussi, vous pouvez utiliser sa configuration pour modifier le déploiement parent. Copiez celui
deployment.jsonque vous avez utilisé à l'étape précédente. RemplaceztargetArnle fichier JSON par l'ARN du déploiement parent et exécutez la commande suivante pour créer le déploiement parent à l'aide de cette nouvelle configuration.Note
Si vous créez une nouvelle révision de déploiement du parc parent, elle remplace toutes les révisions et sous-déploiements de ce déploiement parent. Pour plus d'informations, consultez la section Réviser les déploiements.
aws greengrassv2 create-deployment--cli-input-jsonfile://deployment.jsonLa réponse inclut un
deploymentIdidentifiant ce déploiement. Vous pouvez utiliser l'ID de déploiement pour vérifier l'état du déploiement. Pour de plus amples informations, veuillez consulter Vérifier l'état du déploiement.