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.
Publiez des composants à déployer sur vos appareils principaux
Après avoir créé ou terminé une version d'un composant, vous pouvez le publier sur le AWS IoT Greengrass service. Ensuite, vous pouvez le déployer sur les appareils principaux de Greengrass.
Si vous utilisez le Greengrass Development Kit CLI (GDKCLI) pour développer et créer un composant, vous pouvez utiliser le GDK CLI pour publier le composant dans le. AWS Cloud Sinon, utilisez les commandes shell intégrées et le AWS CLI pour publier le composant.
Vous pouvez également l'utiliser AWS CloudFormation pour créer des composants et d'autres AWS ressources à partir de modèles. Pour plus d'informations, voir Qu'est-ce que c'est AWS CloudFormation ? et AWS::GreengrassV2::ComponentVersiondans le guide de AWS CloudFormation l'utilisateur.
Publier un composant (GDKCLI)
Suivez les instructions de cette section pour publier un composant à l'aide du GDKCLI. Les GDK CLI téléchargements créent des artefacts dans un compartiment S3, mettent à jour l'artefact URIs dans la recette et créent le composant à partir de la recette. Vous spécifiez le compartiment S3 et la région à utiliser dans le fichier GDK CLI de configuration.
Si vous utilisez la GDK CLI version 1.1.0 ou une version ultérieure, vous pouvez spécifier l'--bucket
argument pour spécifier le compartiment S3 dans lequel les GDK CLI artefacts du composant sont téléchargés. Si vous ne spécifiez pas cet argument, les GDK CLI téléchargements vers le compartiment S3 dont le nom est
, où bucket
-region
-accountId
bucket
and region
sont les valeurs que vous spécifiez dansgdk-config.json
, et accountId
est votre Compte AWS identifiant. Le bucket est alors GDK CLI créé s'il n'existe pas.
Important
Les rôles principaux des appareils n'autorisent pas l'accès aux compartiments S3 par défaut. Si c'est la première fois que vous utilisez ce compartiment S3, vous devez ajouter des autorisations au rôle pour permettre aux appareils principaux de récupérer les artefacts des composants de ce compartiment S3. Pour de plus amples informations, veuillez consulter Autoriser l'accès aux compartiments S3 pour les artefacts des composants.
Pour publier un composant Greengrass () GDK CLI
-
Ouvrez le dossier du composant dans une invite de commande ou dans un terminal.
-
Si ce n'est pas déjà fait, créez le composant Greengrass. La commande component build produit une recette et des artefacts dans le
greengrass-build
dossier du dossier des composants. Exécutez la commande suivante.gdk component build
-
Publiez le composant dans le AWS Cloud. La commande de publication du composant télécharge les artefacts du composant sur Amazon S3 et met à jour la recette du composant avec celle de chaque artefact. URI Ensuite, il crée le composant dans le AWS IoT Greengrass service.
Note
AWS IoT Greengrass calcule le condensé de chaque artefact lorsque vous créez le composant. Cela signifie que vous ne pouvez pas modifier les fichiers d'artefacts de votre compartiment S3 après avoir créé un composant. Dans ce cas, les déploiements incluant ce composant échoueront, car le résumé du fichier ne correspond pas. Si vous modifiez un fichier d'artefact, vous devez créer une nouvelle version du composant.
Si vous spécifiez
NEXT_PATCH
la version du composant dans le fichier de GDK CLI configuration, la prochaine version de correctif qui n'existe pas encore dans le AWS IoT Greengrass service est GDK CLI utilisée.Exécutez la commande suivante.
gdk component publish
La sortie indique la version du composant GDK CLI créé.
Après avoir publié le composant, vous pouvez le déployer sur les appareils principaux. Pour de plus amples informations, veuillez consulter Déployer AWS IoT Greengrass des composants sur des appareils.
Publier un composant (commandes shell)
Utilisez la procédure suivante pour publier un composant à l'aide des commandes shell et du AWS Command Line Interface (AWS CLI). Lorsque vous publiez un composant, vous devez effectuer les opérations suivantes :
-
Publiez les artefacts des composants dans un compartiment S3.
-
Ajoutez l'Amazon S3 de chaque artefact URI à la recette du composant.
-
Créez une version de composant à AWS IoT Greengrass partir de la recette du composant.
Note
Chaque version de composant que vous chargez doit être unique. Assurez-vous de télécharger la bonne version du composant, car vous ne pourrez pas la modifier après l'avoir chargée.
Vous pouvez suivre ces étapes pour publier un composant depuis votre ordinateur de développement ou votre appareil principal Greengrass.
Pour publier un composant (commandes shell)
-
Si le composant utilise une version qui existe dans le AWS IoT Greengrass service, vous devez modifier la version du composant. Ouvrez la recette dans un éditeur de texte, incrémentez la version et enregistrez le fichier. Choisissez une nouvelle version qui reflète les modifications que vous avez apportées au composant.
Note
AWS IoT Greengrass utilise des versions sémantiques pour les composants. Les versions sémantiques suivent une majeure. mineur. système de numéro de patch. Par exemple, la version
1.0.0
représente la première version majeure d'un composant. Pour plus d'informations, consultez la spécification de version sémantique. -
Si votre composant contient des artefacts, procédez comme suit :
-
Publiez les artefacts du composant dans un compartiment S3 de votre Compte AWS.
Astuce
Nous vous recommandons d'inclure le nom et la version du composant dans le chemin d'accès à l'artefact dans le compartiment S3. Ce schéma de dénomination peut vous aider à conserver les artefacts utilisés par les versions précédentes du composant, afin que vous puissiez continuer à prendre en charge les versions précédentes du composant.
Exécutez la commande suivante pour publier un fichier d'artefact dans un compartiment S3. Remplacez amzn-s3-demo-bucket par le nom du bucket, puis remplacez
artifacts/com.example.HelloWorld/1.0.0/artifact.py
avec le chemin d'accès au fichier d'artefact.aws s3 cp
artifacts/com.example.HelloWorld/1.0.0/artifact.py
s3://amzn-s3-demo-bucket/artifacts/com.example.HelloWorld/1.0.0/artifact.py
Important
Les rôles principaux des appareils n'autorisent pas l'accès aux compartiments S3 par défaut. Si c'est la première fois que vous utilisez ce compartiment S3, vous devez ajouter des autorisations au rôle pour permettre aux appareils principaux de récupérer les artefacts des composants de ce compartiment S3. Pour de plus amples informations, veuillez consulter Autoriser l'accès aux compartiments S3 pour les artefacts des composants.
-
Ajoutez une liste nommée
Artifacts
à la recette du composant si elle n'est pas présente. LaArtifacts
liste apparaît dans chaque manifeste, qui définit les exigences du composant sur chaque plate-forme qu'il prend en charge (ou les exigences par défaut du composant pour toutes les plateformes). -
Ajoutez chaque artefact à la liste des artefacts ou mettez à jour URI les artefacts existants. L'Amazon S3 URI est composé du nom du compartiment et du chemin d'accès à l'objet artefact contenu dans le compartiment. L'Amazon S3 de vos artefacts URIs doit ressembler à l'exemple suivant.
s3://amzn-s3-demo-bucket/artifacts/com.example.HelloWorld/1.0.0/artifact.py
Une fois ces étapes terminées, votre recette devrait avoir une
Artifacts
liste semblable à la suivante.Pour plus d'informations sur les recettes, consultez AWS IoT Greengrass référence de recette de composant.
-
-
Utilisez la AWS IoT Greengrass console pour créer un composant à partir du fichier de recette.
Exécutez la commande suivante pour créer le composant à partir d'un fichier de recette. Cette commande crée le composant et le publie en tant que AWS IoT Greengrass composant privé dans votre Compte AWS. Remplacez
path/to/recipeFile
avec le chemin d'accès au fichier de recette.aws greengrassv2 create-component-version --inline-recipe fileb://
path/to/recipeFile
Copiez le contenu
arn
de la réponse pour vérifier l'état du composant à l'étape suivante.Note
AWS IoT Greengrass calcule le condensé de chaque artefact lorsque vous créez le composant. Cela signifie que vous ne pouvez pas modifier les fichiers d'artefacts de votre compartiment S3 après avoir créé un composant. Dans ce cas, les déploiements incluant ce composant échoueront, car le résumé du fichier ne correspond pas. Si vous modifiez un fichier d'artefact, vous devez créer une nouvelle version du composant.
-
Chaque composant du AWS IoT Greengrass service possède un état. Exécutez la commande suivante pour confirmer l'état de la version du composant que vous publiez dans cette procédure. Remplacez
com.example.HelloWorld
and1.0.0
avec la version du composant à interroger. Remplacez learn
par celui ARN de l'étape précédente.aws greengrassv2 describe-component --arn "arn:aws:greengrass:
region
:account-id
:components:com.example.HelloWorld
:versions:1.0.0
"L'opération renvoie une réponse contenant les métadonnées du composant. Les métadonnées contiennent un
status
objet qui contient l'état du composant et les éventuelles erreurs, le cas échéant.Lorsque l'état du composant est
DEPLOYABLE
défini, vous pouvez le déployer sur des appareils. Pour de plus amples informations, veuillez consulter Déployer AWS IoT Greengrass des composants sur des appareils.