Création du composant de l'application client - Amazon Lookout for Vision

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 du composant de l'application client

Vous pouvez créer le composant d'application client une fois que vous avez généré vos stubs gRPC et que le code de votre application client est prêt. Le composant que vous créez est un composant personnalisé que vous déployez sur un appareil AWS IoT Greengrass Version 2 principal avecAWS IoT Greengrass V2. Une recette que vous créez décrit votre composant personnalisé. La recette inclut toutes les dépendances qui doivent également être déployées. Dans ce cas, vous spécifiez le composant du modèle dans lequel vous créezEmballage de votre modèle Amazon Lookout for Vision. Pour plus d'informations sur les recettes de composants, consultez la référence des recettes de AWS IoT Greengrass Version 2 composants.

Les procédures décrites dans cette rubrique expliquent comment créer le composant d'application client à partir d'un fichier de recette et le publier en tant que composant AWS IoT Greengrass V2 personnalisé. Vous pouvez utiliser la AWS IoT Greengrass V2 console ou le AWS SDK pour publier le composant.

Pour obtenir des informations détaillées sur la création d'un composant personnalisé, consultez la AWS IoT Greengrass V2documentation suivante.

Autorisations IAM pour publier un composant d'application client

Pour créer et publier le composant de votre application client, vous devez disposer des autorisations IAM suivantes :

  • greengrass:CreateComponentVersion

  • greengrass:DescribeComponent

  • s3:PutObject

Création de la recette

Dans cette procédure, vous allez créer la recette d'un composant d'application client simple. Le code contenu lookoutvision_edge_agent_example.py répertorie les modèles déployés sur le périphérique et est automatiquement exécuté une fois que vous avez déployé le composant sur le périphérique principal. Pour consulter le résultat, consultez le journal du composant après le déploiement du composant. Pour plus d'informations, veuillez consulter Déploiement de vos composants sur un appareil. Lorsque vous êtes prêt, utilisez cette procédure pour créer la recette du code qui implémente votre logique métier.

Vous créez la recette sous forme de fichier au format JSON ou YAML. Vous chargez également le code de l'application client dans un compartiment Amazon S3.

Pour créer la recette du composant de l'application client
  1. Si ce n'est pas déjà fait, créez les fichiers stub gRPC. Pour plus d'informations, veuillez consulter Configuration de gRPC.

  2. Enregistrez le code suivant dans un fichier nommé lookoutvision_edge_agent_example.py

    import grpc from edge_agent_pb2_grpc import EdgeAgentStub import edge_agent_pb2 as pb2 # Creating stub. with grpc.insecure_channel("unix:///tmp/aws.iot.lookoutvision.EdgeAgent.sock") as channel: stub = EdgeAgentStub(channel) # Add additional code that works with Edge Agent in this block to prevent resources leakage models_list_response = stub.ListModels( pb2.ListModelsRequest() ) for model in models_list_response.models: print(f"Model Details {model}")
  3. Créez un compartiment Amazon S3 (ou utilisez un compartiment existant) pour stocker les fichiers source du composant de votre application client. Le bucket doit se trouver dans votre AWS compte et dans la même AWS région que celle dans laquelle vous utilisez AWS IoT Greengrass Version 2 Amazon Lookout for Vision.

  4. Téléchargezlookoutvision_edge_agent_example.py, edge_agent_pb2_grpc.py and edge_agent_pb2.py dans le compartiment Amazon S3 que vous avez créé à l'étape précédente. Notez le chemin Amazon S3 de chaque fichier. Vous avez créé edge_agent_pb2_grpc.py et edge_agent_pb2.py dansConfiguration de gRPC.

  5. Dans un éditeur, créez le fichier de recette JSON ou YAML suivant.

    • model_componentau nom du composant de votre modèle. Pour plus d'informations, veuillez consulter Réglages des composants.

    • Remplacez les entrées d'URI par les chemins S3 de lookoutvision_edge_agent_example.pyedge_agent_pb2_grpc.py, etedge_agent_pb2.py.

    JSON
    { "RecipeFormatVersion": "2020-01-25", "ComponentName": "com.lookoutvision.EdgeAgentPythonExample", "ComponentVersion": "1.0.0", "ComponentType": "aws.greengrass.generic", "ComponentDescription": "Lookout for Vision Edge Agent Sample Application", "ComponentPublisher": "Sample App Publisher", "ComponentDependencies": { "model_component": { "VersionRequirement": ">=1.0.0", "DependencyType": "HARD" } }, "Manifests": [ { "Platform": { "os": "linux" }, "Lifecycle": { "install": "pip3 install grpcio grpcio-tools protobuf Pillow", "run": { "script": "python3 {artifacts:path}/lookoutvision_edge_agent_example.py" } }, "Artifacts": [ { "Uri": "S3 path to lookoutvision_edge_agent_example.py" }, { "Uri": "S3 path to edge_agent_pb2_grpc.py" }, { "Uri": "S3 path to edge_agent_pb2.py" } ] } ], "Lifecycle": {} }
    YAML
    --- RecipeFormatVersion: 2020-01-25 ComponentName: com.lookoutvison.EdgeAgentPythonExample ComponentVersion: 1.0.0 ComponentDescription: Lookout for Vision Edge Agent Sample Application ComponentPublisher: Sample App Publisher ComponentDependencies: model_component: VersionRequirement: '>=1.0.0' DependencyType: HARD Manifests: - Platform: os: linux Lifecycle: install: |- pip3 install grpcio pip3 install grpcio-tools pip3 install protobuf pip3 install Pillow run: script: |- python3 {artifacts:path}/lookout_vision_agent_example.py Artifacts: - URI: S3 path to lookoutvision_edge_agent_example.py - URI: S3 path to edge_agent_pb2_grpc.py - URI: S3 path to edge_agent_pb2.py
  6. Enregistrez le fichier JSON ou YAML sur votre ordinateur.

  7. Créez le composant de l'application client en effectuant l'une des opérations suivantes :

Publication du composant de l'application client (console)

Vous pouvez utiliser la AWS IoT Greengrass V2 console pour publier le composant de l'application client.

Pour publier le composant de l'application client
  1. Si ce n'est pas déjà fait, créez la recette pour le composant de votre application client en procédant ainsiCréation de la recette.

  2. Ouvrez la AWS IoT Greengrass console à l'adresse https://console.aws.amazon.com/iot/

  3. Dans le volet de navigation de gauche, sous Greengrass, choisissez Components.

  4. Sous Mes composants, sélectionnez Créer un composant.

  5. Sur la page Créer un composant, choisissez Enter recipe as JSON si vous souhaitez utiliser une recette au format JSON. Choisissez Entrer la recette au format YAML si vous souhaitez utiliser une recette au format YAML.

  6. Sous Recette, remplacez la recette existante par la recette JSON ou YAML que vous avez créée dansCréation de la recette.

  7. Choisissez Créer un composant.

  8. Déployez ensuite le composant de votre application client.

Publication du composant d'application client (SDK)

Vous pouvez publier le composant de l'application client à l'aide de l'CreateComponentVersionAPI.

Pour publier le composant d'application client (SDK)
  1. Si ce n'est pas déjà fait, créez la recette pour le composant de votre application client en procédant ainsiCréation de la recette.

  2. À l'invite de commande, entrez la commande suivante pour créer le composant d'application client. recipe-fileRemplacez-le par le nom du fichier de recette dans lequel vous l'avez crééCréation de la recette.

    aws greengrassv2 create-component-version --inline-recipe fileb://recipe-file

    Notez l'ARN du composant dans la réponse. Vous en avez besoin à l'étape suivante.

  3. Utilisez la commande suivante pour obtenir l'état du composant de l'application cliente. component-arnRemplacez-le par l'ARN que vous avez noté à l'étape précédente. Le composant de l'application client est prêt si la valeur de componentState estDEPLOYABLE.

    aws greengrassv2 describe-component --arn component-arn
  4. Déployez ensuite le composant de votre application client.