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 AWS IoT Greengrass composants
Vous pouvez développer des AWS IoT Greengrass composants personnalisés sur un ordinateur de développement local ou un appareil principal de Greengrass. AWS IoT Greengrass fournit l'interface de ligne de commande du kit de AWS IoT Greengrass développement (CLI GDK) pour vous aider à créer, créer et publier des composants à partir de modèles de composants prédéfinis et de composants communautaires. Vous pouvez également exécuter des commandes shell intégrées pour créer, créer et publier des composants. Choisissez l'une des options suivantes pour créer des composants Greengrass personnalisés :
-
Utiliser la CLI du kit de développement Greengrass
Utilisez la CLI GDK pour développer des composants sur un ordinateur de développement local. La CLI GDK crée et empaquète le code source des composants dans une recette et des artefacts que vous pouvez publier en tant que composant privé du AWS IoT Greengrass service. Vous pouvez configurer la CLI GDK pour mettre à jour automatiquement la version du composant et les URI des artefacts lorsque vous publiez le composant, de sorte que vous n'avez pas besoin de mettre à jour la recette à chaque fois. Pour développer un composant à l'aide de la CLI GDK, vous pouvez partir d'un modèle ou d'un composant communautaire du catalogue de logiciels Greengrass. Pour de plus amples informations, veuillez consulter AWS IoT GreengrassInterface de ligne de commande du kit de développement.
-
Exécuter des commandes shell intégrées
Vous pouvez exécuter des commandes shell intégrées pour développer des composants sur un ordinateur de développement local ou sur un périphérique principal Greengrass. Vous utilisez des commandes shell pour copier ou intégrer le code source des composants dans des artefacts. Chaque fois que vous créez une nouvelle version d'un composant, vous devez créer ou mettre à jour la recette avec la nouvelle version du composant. Lorsque vous publiez le composant sur le AWS IoT Greengrass service, vous devez mettre à jour l'URI de chaque artefact de composant de la recette.
Création d'un composant (CLI GDK)
Suivez les instructions de cette section pour créer et créer un composant à l'aide de la CLI GDK.
Pour développer un composant Greengrass (GDK CLI)
-
Si ce n'est pas déjà fait, installez la CLI GDK sur votre ordinateur de développement. Pour de plus amples informations, veuillez consulter Installation ou mise à jour de l'interface de ligne de commande AWS IoT Greengrass du kit de développement.
-
Accédez au dossier dans lequel vous souhaitez créer des dossiers de composants.
-
Choisissez un modèle de composant ou un composant de communauté à télécharger. La CLI GDK télécharge le modèle ou le composant communautaire, afin que vous puissiez partir d'un exemple fonctionnel. Utilisez la commande component list pour récupérer la liste des modèles ou des composants communautaires disponibles.
-
Pour répertorier les modèles de composants, exécutez la commande suivante. Chaque ligne de la réponse inclut le nom du modèle et le langage de programmation.
gdk component list --template
-
Pour répertorier les composants de la communauté, exécutez la commande suivante.
gdk component list --repository
-
-
Créez un dossier de composants et modifiez-le dans lequel la CLI GDK télécharge le modèle ou le composant communautaire.
HelloWorld
Remplacez-le par le nom du composant ou par un autre nom permettant d'identifier ce dossier de composants. -
Téléchargez le modèle ou le composant communautaire dans le dossier actuel. Utilisez la commande component init.
-
Pour créer un dossier de composants à partir d'un modèle, exécutez la commande suivante. Remplacez
HelloWorld
par le nom du modèle et remplacezpython
par le nom du langage de programmation.gdk component init --template
HelloWorld
--languagepython
-
Pour créer un dossier de composants à partir d'un composant communautaire, exécutez la commande suivante. Remplacez
ComponentName
par le nom du composant communautaire.gdk component init --repository
ComponentName
Note
Si vous utilisez GDK CLI v1.0.0, vous devez exécuter cette commande dans un dossier vide. La CLI GDK télécharge le modèle ou le composant communautaire dans le dossier actuel.
Si vous utilisez la CLI GDK v1.1.0 ou une version ultérieure, vous pouvez spécifier l'
--name
argument pour spécifier le dossier dans lequel la CLI GDK télécharge le modèle ou le composant communautaire. Si vous utilisez cet argument, spécifiez un dossier qui n'existe pas. La CLI GDK crée le dossier pour vous. Si vous ne spécifiez pas cet argument, la CLI GDK utilise le dossier actuel, qui doit être vide. -
-
La CLI GDK lit le fichier de configuration de la CLI GDK, nommé
gdk-config.json
, pour créer et publier des composants. Ce fichier de configuration se trouve à la racine du dossier du composant. L'étape précédente crée ce fichier pour vous. Au cours de cette étape, vous effectuezgdk-config.json
une mise à jour avec les informations relatives à votre composant. Procédez comme suit :-
Ouvrez
gdk-config.json
dans un éditeur de texte. -
(Facultatif) Modifiez le nom du composant. Le nom du composant est la clé de l'
component
objet. -
Changez l'auteur du composant.
-
(Facultatif) Modifiez la version du composant. Spécifiez l’un des éléments suivants :
-
NEXT_PATCH
— Lorsque vous choisissez cette option, la CLI GDK définit la version lorsque vous publiez le composant. La CLI GDK interroge le AWS IoT Greengrass service pour identifier la dernière version publiée du composant. Ensuite, il définit la version sur la version de correctif suivante après cette version. Si vous n'avez jamais publié le composant auparavant, la CLI GDK utilise la version1.0.0
.Si vous choisissez cette option, vous ne pouvez pas utiliser la CLI Greengrass pour déployer et tester localement le composant sur votre ordinateur de développement local qui exécute le logiciel AWS IoT Greengrass Core. Pour activer les déploiements locaux, vous devez plutôt spécifier une version sémantique.
-
Une version sémantique, telle que
1.0.0
. Les versions sémantiques utilisent une majeure. mineur. système de numérotation des patchs. Pour plus d'informations, consultez la spécification de version sémantique. Si vous développez des composants sur un appareil principal Greengrass sur lequel vous souhaitez les déployer et les tester, choisissez cette option. Vous devez créer le composant avec une version spécifique pour créer des déploiements locaux avec la CLI Greengrass.
-
-
(Facultatif) Modifiez la configuration de construction du composant. La configuration de construction définit la manière dont la CLI GDK construit la source du composant en artefacts. Choisissez l'une des options suivantes pour
build_system
:-
zip
— Regroupe le dossier du composant dans un fichier ZIP à définir comme seul artefact du composant. Choisissez cette option pour les types de composants suivants :-
Composants utilisant des langages de programmation interprétés, tels que Python ou JavaScript.
-
Composants qui empaquetent des fichiers autres que du code, tels que des modèles d'apprentissage automatique ou d'autres ressources.
La CLI GDK compresse le dossier du composant dans un fichier zip portant le même nom que le dossier du composant. Par exemple, si le nom du dossier du composant est
HelloWorld
, la CLI GDK crée un fichier zip nomméHelloWorld.zip
.Note
Si vous utilisez la version 1.0.0 de la CLI GDK sur un appareil Windows, les noms des dossiers de composants et des fichiers zip ne doivent contenir que des lettres minuscules.
Lorsque la CLI GDK comprime le dossier du composant dans un fichier zip, elle ignore les fichiers suivants :
-
le fichier
gdk-config.json
; -
Le fichier de recette (
recipe.json
ourecipe.yaml
) -
Créez des dossiers, tels que
greengrass-build
-
-
maven
— Exécute lamvn clean package
commande pour intégrer la source du composant en artefacts. Choisissez cette option pour les composants qui utilisent Maven, tels que les composants Java. Sur les appareils Windows, cette fonctionnalité est disponible pour GDK CLI v1.1.0 et versions ultérieures.
-
gradle
— Exécute lagradle build
commande pour intégrer la source du composant en artefacts. Choisissez cette option pour les composants qui utilisent Gradle. Cette fonctionnalité est disponible pour GDK CLI v1.1.0 et versions ultérieures. Le système de
gradle
construction prend en charge Kotlin DSL en tant que fichier de construction. Cette fonctionnalité est disponible pour GDK CLI v1.2.0 et versions ultérieures. -
gradlew
— Exécute lagradlew
commande pour intégrer la source du composant en artefacts. Choisissez cette option pour les composants qui utilisent le Gradle Wrapper. Cette fonctionnalité est disponible pour GDK CLI v1.2.0 et versions ultérieures.
-
custom
— Exécute une commande personnalisée pour intégrer la source du composant dans une recette et des artefacts. Spécifiez la commande personnalisée dans lecustom_build_command
paramètre.
-
-
Si vous le spécifiez
custom
pourbuild_system
, ajoutez-lecustom_build_command
à l'build
objet. Danscustom_build_command
, spécifiez une chaîne unique ou une liste de chaînes, chaque chaîne étant un mot dans la commande. Par exemple, pour exécuter une commande de génération personnalisée pour un composant C++, vous pouvez spécifier["cmake", "--build", "build", "--config", "Release"]
. -
Si vous utilisez la CLI GDK v1.1.0 ou une version ultérieure, vous pouvez spécifier l'
--bucket
argument pour spécifier le compartiment S3 dans lequel la CLI GDK télécharge les artefacts du composant. Si vous ne spécifiez pas cet argument, la CLI GDK est chargée dans le compartiment S3 dont le nom est
, oùbucket
-region
-accountId
bucket
etregion
sont les valeurs que vous spécifiezgdk-config.json
, etAccountID
est votre ID. Compte AWS La CLI GDK crée le bucket s'il n'existe pas.Modifiez la configuration de publication du composant. Procédez comme suit :
-
Spécifiez le nom du compartiment S3 à utiliser pour héberger les artefacts des composants.
-
Spécifiez l' Région AWS endroit où la CLI GDK publie le composant.
-
Lorsque vous avez terminé cette étape, le
gdk-config.json
fichier peut ressembler à l'exemple suivant.{ "component": { "com.example.PythonHelloWorld": { "author": "Amazon", "version": "NEXT_PATCH", "build": { "build_system" : "zip" }, "publish": { "bucket": "greengrass-component-artifacts", "region": "us-west-2" } } }, "gdk_version": "1.0.0" }
-
-
Mettez à jour le fichier de recette du composant, nommé
recipe.yaml
ourecipe.json
. Procédez comme suit :-
Si vous avez téléchargé un modèle ou un composant communautaire qui utilise le système de
zip
compilation, vérifiez que le nom de l'artefact zip correspond au nom du dossier du composant. La CLI GDK compresse le dossier des composants dans un fichier zip portant le même nom que le dossier des composants. La recette contient le nom de l'artefact zip dans la liste des artefacts du composant et dans les scripts de cycle de vie qui utilisent les fichiers de l'artefact zip. Mettez à jour lesLifecycle
définitionsArtifacts
et de manière à ce que le nom du fichier zip corresponde au nom du dossier du composant. Les exemples de recettes partiels suivants mettent en évidence le nom du fichier zip dans lesLifecycle
définitionsArtifacts
et. -
(Facultatif) Mettez à jour la description du composant, la configuration par défaut, les artefacts, les scripts de cycle de vie et le support de la plate-forme. Pour de plus amples informations, veuillez consulter AWS IoT Greengrass référence de recette de composant.
Lorsque vous avez terminé cette étape, le fichier de recette peut ressembler aux exemples suivants.
-
-
Développez et construisez 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
Lorsque vous êtes prêt à tester votre composant, utilisez la CLI GDK pour le publier sur le AWS IoT Greengrass service. Vous pouvez ensuite déployer le composant sur les appareils principaux de Greengrass. Pour de plus amples informations, veuillez consulter Publiez des composants à déployer sur vos appareils principaux.
Création d'un composant (commandes shell)
Suivez les instructions de cette section pour créer des dossiers de recettes et d'artefacts contenant du code source et des artefacts pour plusieurs composants.
Pour développer un composant Greengrass (commandes shell)
-
Créez un dossier pour vos composants avec des sous-dossiers pour les recettes et les artefacts. Exécutez les commandes suivantes sur votre appareil principal Greengrass pour créer ces dossiers et accéder au dossier des composants. Remplacez
~/greengrassv2
ou%USERPROFILE% \ greengrassv2
par le chemin d'accès au dossier à utiliser pour le développement local. -
Utilisez un éditeur de texte pour créer un fichier de recette qui définit les métadonnées, les paramètres, les dépendances, le cycle de vie et les capacités de la plateforme de votre composant. Incluez la version du composant dans le nom du fichier de recette afin de pouvoir identifier quelle recette reflète quelle version de composant. Vous pouvez choisir le format YAML ou JSON pour votre recette.
Par exemple, sur un système basé sur Linux, vous pouvez exécuter la commande suivante pour utiliser GNU nano pour créer le fichier.
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. -
Définissez la recette de votre composant. Pour de plus amples informations, veuillez consulter AWS IoT Greengrass référence de recette de composant.
Votre recette peut ressembler à l'exemple de recette Hello World suivant.
Cette recette exécute un script Python Hello World, qui peut ressembler à l'exemple de script suivant.
import sys message = "Hello, %s!" % sys.argv[1] # Print the message to stdout, which Greengrass saves in a log file. print(message)
-
Créez un dossier pour la version du composant à développer. Nous vous recommandons d'utiliser un dossier distinct pour les artefacts de chaque version de composant afin de pouvoir identifier les artefacts correspondant à chaque version de composant. Exécutez la commande suivante.
Important
Vous devez utiliser le format suivant pour le chemin du dossier d'artefacts. Incluez le nom et la version du composant que vous spécifiez dans la recette.
artifacts/
componentName
/componentVersion
/ -
Créez les artefacts de votre composant dans le dossier que vous avez créé à l'étape précédente. Les artefacts peuvent inclure des logiciels, des images et tout autre fichier binaire utilisé par votre composant.
Lorsque votre composant est prêt, testez-le.