Creazione del componente dell'applicazione client - Amazon Lookout per Vision

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione del componente dell'applicazione client

È possibile creare il componente dell'applicazione client dopo aver generato gli stub gRPC e aver pronto il codice dell'applicazione client. Il componente creato è un componente personalizzato con cui viene distribuito su un dispositivo AWS IoT Greengrass Version 2 principale. AWS IoT Greengrass V2 Una ricetta creata descrive il componente personalizzato. La ricetta include tutte le dipendenze che devono essere distribuite. In questo caso, specificate il componente del modello in cui create. Imballaggio del modello Amazon Lookout for Vision Per ulteriori informazioni sulle ricette dei componenti, consultate il riferimento alla ricetta AWS IoT Greengrass Version 2 dei componenti.

Le procedure su questo argomento mostrano come creare il componente dell'applicazione client da un file di ricetta e pubblicarlo come componente AWS IoT Greengrass V2 personalizzato. È possibile utilizzare la AWS IoT Greengrass V2 console o l'AWSSDK per pubblicare il componente.

Per informazioni dettagliate sulla creazione di un componente personalizzato, consulta quanto segue nella AWS IoT Greengrass V2documentazione.

Autorizzazioni IAM per la pubblicazione di un componente dell'applicazione client

Per creare e pubblicare il componente dell'applicazione client, sono necessarie le seguenti autorizzazioni IAM:

  • greengrass:CreateComponentVersion

  • greengrass:DescribeComponent

  • s3:PutObject

Creare la ricetta

In questa procedura, si crea la ricetta per un semplice componente dell'applicazione client. Il codice incluso lookoutvision_edge_agent_example.py elenca i modelli distribuiti sul dispositivo e viene eseguito automaticamente dopo la distribuzione del componente sul dispositivo principale. Per visualizzare l'output, controllate il registro dei componenti dopo aver distribuito il componente. Per ulteriori informazioni, consulta Distribuzione dei componenti su un dispositivo. Quando sei pronto, usa questa procedura per creare la ricetta del codice che implementa la tua logica aziendale.

La ricetta viene creata come file in formato JSON o YAML. Puoi anche caricare il codice dell'applicazione client in un bucket Amazon S3.

Per creare la ricetta del componente dell'applicazione client
  1. Se non l'hai già fatto, crea i file stub gRPC. Per ulteriori informazioni, consulta Configurazione di gRPC.

  2. Salva il codice seguente in un file denominato 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. Crea un bucket Amazon S3 (o usa un bucket esistente) per archiviare i file di origine per il componente dell'applicazione client. Il bucket deve essere presente nel tuo AWS account e nella stessa AWS regione in cui utilizzi AWS IoT Greengrass Version 2 Amazon Lookout for Vision.

  4. Caricalookoutvision_edge_agent_example.py, edge_agent_pb2_grpc.py and edge_agent_pb2.py nel bucket Amazon S3 che hai creato nel passaggio precedente. Annota il percorso Amazon S3 di ogni file. Hai creato edge_agent_pb2_grpc.py e inseritoedge_agent_pb2.py. Configurazione di gRPC

  5. In un editor, crea il seguente file di ricette JSON o YAML.

    • model_componental nome del componente del modello. Per ulteriori informazioni, consulta Impostazioni dei componenti.

    • Cambia le voci URI nei percorsi S3 di lookoutvision_edge_agent_example.pyedge_agent_pb2_grpc.py, eedge_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. Salva il file JSON o YAML sul tuo computer.

  7. Create il componente dell'applicazione client effettuando una delle seguenti operazioni:

Pubblicazione del componente dell'applicazione client (Console)

È possibile utilizzare la AWS IoT Greengrass V2 console per pubblicare il componente dell'applicazione client.

Per pubblicare il componente dell'applicazione client
  1. Se non l'hai già fatto, crea la ricetta per il componente dell'applicazione client procedendoCreare la ricetta.

  2. Apri la AWS IoT Greengrass console all'indirizzo https://console.aws.amazon.com/iot/

  3. Nel riquadro di navigazione a sinistra, in Greengrass scegli Componenti.

  4. In I miei componenti scegli Crea componente.

  5. Nella pagina Crea componente scegli Inserisci ricetta come JSON se desideri utilizzare una ricetta in formato JSON. Scegli Inserisci ricetta come YAML se desideri utilizzare una ricetta in formato YAML.

  6. In Ricetta sostituisci la ricetta esistente con la ricetta JSON o YAML in cui hai creato. Creare la ricetta

  7. Scegli Crea componente.

  8. Successivamente, distribuisci il componente dell'applicazione client.

Pubblicazione del componente dell'applicazione client (SDK)

È possibile pubblicare il componente dell'applicazione client utilizzando l'CreateComponentVersionAPI.

Per pubblicare il componente dell'applicazione client (SDK)
  1. Se non l'hai già fatto, crea la ricetta per il componente dell'applicazione client facendo. Creare la ricetta

  2. Al prompt dei comandi, immettete il seguente comando per creare il componente dell'applicazione client. Sostituisci recipe-file con il nome del file di ricette in Creare la ricetta cui hai creato.

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

    Annota l'ARN del componente nella risposta. Questo valore servirà nella fase successiva.

  3. Utilizzate il comando seguente per ottenere lo stato del componente dell'applicazione client. Sostituisci component-arn con l'ARN che hai annotato nel passaggio precedente. Il componente dell'applicazione client è pronto se il valore di componentState èDEPLOYABLE.

    aws greengrassv2 describe-component --arn component-arn
  4. Successivamente, distribuisci il componente dell'applicazione client.