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_ONLY
sur
pour voir le dernier déploiement de ce groupe d'objets.--history-filter
aws greengrassv2 list-deployments
--target-arn
arn:aws:iot:region
:account-id
:thinggroup/thingGroupName
--history-filter
LATEST_ONLY
-
Copiez le contenu
deploymentId
de 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.deploymentId
aws greengrassv2 get-deployment
--deployment-id
deploymentId
-
Copiez le contenu
iotJobId
de 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
JobID
par celuiiotJobId
de l'étape précédente. Remplacez lestatut
par 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-id
jobID
--status
status
-
-
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
MyGreengrassCoreGroup
par 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-name
MyGreengrassCoreGroup
Si 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 :
-
MyGreengrassCore
Remplacez-le par le nom de votre noyau Greengrass provisionné. -
MyGreengrassCoreGroup
Remplacez-le par le nom de votre groupe d'objets.
aws iot add-thing-to-thing-group
--thing-name
MyGreengrassCore
--thing-group-name
MyGreengrassCoreGroup
La 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. RemplacezTargetArn
par l'ARN du groupe d'objets à cibler pour AWS IoT le sous-déploiement. Une cible de sous-déploiement ne peut être qu'un groupe d'objets. Les ARN des groupes 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
DeploymentID
par l'ID 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-id
deploymentId
La 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.json
Vous 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
. RemplacezSubdeploymentName par le nom
du sous-déploiement.aws greengrassv2 create-deployment
--deployment-name
subdeploymentName
--cli-input-json
file://deployment.jsonLa réponse inclut un identifiant
deploymentId
ce 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.json
que vous avez utilisé à l'étape précédente. RemplaceztargetArn
le 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-json
file://deployment.jsonLa réponse inclut un
deploymentId
identifiant ce déploiement. Vous pouvez utiliser l'ID de déploiement pour vérifier l'état du déploiement. Pour plus d'informations, consultez Vérification du statut du déploiement.