AWS IoT Greengrass V2 esempi utilizzando AWS CLI - AWS Command Line Interface

Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.

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à.

AWS IoT Greengrass V2 esempi utilizzando AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with AWS IoT Greengrass V2.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareassociate-service-role-to-account.

AWS CLI

Per associare il ruolo di servizio Greengrass al tuo account AWS

L'associate-service-role-to-accountesempio seguente associa un ruolo di servizio a AWS IoT Greengrass per AWS il tuo account.

aws greengrassv2 associate-service-role-to-account \ --role-arn arn:aws:iam::123456789012:role/service-role/Greengrass_ServiceRole

Output:

{ "associatedAt": "2022-01-19T19:21:53Z" }

Per ulteriori informazioni, consulta Ruolo di servizio di Greengrass nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarebatch-associate-client-device-with-core-device.

AWS CLI

Come associare i dispositivi client a un dispositivo principale

L’esempio batch-associate-client-device-with-core-device seguente associa due dispositivi client a un dispositivo principale.

aws greengrassv2 batch-associate-client-device-with-core-device \ --core-device-thing-name MyGreengrassCore \ --entries thingName=MyClientDevice1 thingName=MyClientDevice2

Output:

{ "errorEntries": [] }

Per ulteriori informazioni, consulta Interazione con i dispositivi IoT locali nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarebatch-disassociate-client-device-from-core-device.

AWS CLI

Come dissociare i dispositivi client da un dispositivo principale

L’esempio batch-disassociate-client-device-from-core-device seguente dissocia due dispositivi client da un dispositivo principale.

aws greengrassv2 batch-disassociate-client-device-from-core-device \ --core-device-thing-name MyGreengrassCore \ --entries thingName=MyClientDevice1 thingName=MyClientDevice2

Output:

{ "errorEntries": [] }

Per ulteriori informazioni, consulta Interazione con i dispositivi IoT locali nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarecancel-deployment.

AWS CLI

Come annullare un’implementazione

L’esempio cancel-deployment seguente arresta un’implementazione continua in un gruppo di oggetti.

aws greengrassv2 cancel-deployment \ --deployment-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Output:

{ "message": "SUCCESS" }

Per ulteriori informazioni, consulta Annullamento delle implementazioni nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarecreate-component-version.

AWS CLI

Esempio 1: come creare una versione di un componente da una ricetta

L’esempio create-component-version seguente crea una versione di un componente Hello World da un file di ricetta.

aws greengrassv2 create-component-version \ --inline-recipe fileb://com.example.HelloWorld-1.0.0.json

Contenuto di com.example.HelloWorld-1.0.0.json:

{ "RecipeFormatVersion": "2020-01-25", "ComponentName": "com.example.HelloWorld", "ComponentVersion": "1.0.0", "ComponentDescription": "My first AWS IoT Greengrass component.", "ComponentPublisher": "Amazon", "ComponentConfiguration": { "DefaultConfiguration": { "Message": "world" } }, "Manifests": [ { "Platform": { "os": "linux" }, "Lifecycle": { "Run": "echo 'Hello {configuration:/Message}'" } } ] }

Output:

{ "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "creationTimestamp": "2021-01-07T16:24:33.650000-08:00", "status": { "componentState": "REQUESTED", "message": "NONE", "errors": {} } }

Per ulteriori informazioni, consulta Creazione di componenti personalizzati nella Guida per gli sviluppatori di AWS IoT Greengrass V2.https://docs.aws.amazon.com/greengrass/v2/developerguide/upload-components.html

Esempio 2: creare una versione di un componente da una funzione AWS Lambda

L'create-component-versionesempio seguente crea una versione di un componente Hello World da una funzione AWS Lambda.

aws greengrassv2 create-component-version \ --cli-input-json file://lambda-function-component.json

Contenuto di lambda-function-component.json:

{ "lambdaFunction": { "lambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:HelloWorldPythonLambda:1", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "componentLambdaParameters": { "eventSources": [ { "topic": "hello/world/+", "type": "IOT_CORE" } ] } } }

Output:

{ "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "creationTimestamp": "2021-01-07T17:05:27.347000-08:00", "status": { "componentState": "REQUESTED", "message": "NONE", "errors": {} } }

Per ulteriori informazioni, consulta Run AWS Lambda functions nella IoT AWS Greengrass V2 Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-deployment.

AWS CLI

Esempio 1: come creare un’implementazione

L'create-deploymentesempio seguente distribuisce l'interfaccia a riga di comando AWS IoT Greengrass su un dispositivo principale.

aws greengrassv2 create-deployment \ --cli-input-json file://cli-deployment.json

Contenuto di cli-deployment.json:

{ "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "deploymentName": "Deployment for MyGreengrassCore", "components": { "aws.greengrass.Cli": { "componentVersion": "2.0.3" } }, "deploymentPolicies": { "failureHandlingPolicy": "DO_NOTHING", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "iotJobConfiguration": {} }

Output:

{ "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Per ulteriori informazioni, consulta Creazioni delle implementazioni nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Esempio 2: come creare un’implementazione che aggiorni le configurazioni dei componenti

L'create-deploymentesempio seguente distribuisce il componente AWS IoT Greengrass nucleus su un gruppo di dispositivi principali. Questa implementazione applica i seguenti aggiornamenti di configurazione per il componente nucleus:

Reimposta le impostazioni proxy dei dispositivi di destinazione ai valori predefiniti senza impostazioni proxy. Reimposta le impostazioni MQTT dei dispositivi di destinazione ai valori predefiniti. Imposta le opzioni JVM per la JVM del componente nucleus. Imposta il livello di registrazione dei log per il componente nucleus.

aws greengrassv2 create-deployment \ --cli-input-json file://nucleus-deployment.json

Contenuto di nucleus-deployment.json:

{ "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "deploymentName": "Deployment for MyGreengrassCoreGroup", "components": { "aws.greengrass.Nucleus": { "componentVersion": "2.0.3", "configurationUpdate": { "reset": [ "/networkProxy", "/mqtt" ], "merge": "{\"jvmOptions\":\"-Xmx64m\",\"logging\":{\"level\":\"WARN\"}}" } } }, "deploymentPolicies": { "failureHandlingPolicy": "ROLLBACK", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "iotJobConfiguration": {} }

Output:

{ "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }

Per ulteriori informazioni, consulta Creazioni delle implementazioni nella Guida per gli sviluppatori di AWS IoT Greengrass V2.https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html

Il seguente esempio di codice mostra come utilizzaredelete-component.

AWS CLI

Come eliminare una versione del componente

L’esempio delete-component seguente elimina un componente Hello World.

aws greengrassv2 delete-component \ --arn arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Gestione dei componenti nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzaredelete-core-device.

AWS CLI

Come eliminare un dispositivo principale

L'delete-core-deviceesempio seguente elimina un dispositivo principale AWS IoT Greengrass.

aws greengrassv2 delete-core-device \ --core-device-thing-name MyGreengrassCore

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Disinstallare il software AWS IoT Greengrass Core nella Guida per sviluppatori IoT AWS Greengrass V2.

Il seguente esempio di codice mostra come utilizzaredescribe-component.

AWS CLI

Come descrivere una versione del componente

L’esempio describe-component seguente descrive un componente Hello World.

aws greengrassv2 describe-component \ --arn arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0

Output:

{ "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0", "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "creationTimestamp": "2021-01-07T17:12:11.133000-08:00", "publisher": "Amazon", "description": "My first AWS IoT Greengrass component.", "status": { "componentState": "DEPLOYABLE", "message": "NONE", "errors": {} }, "platforms": [ { "attributes": { "os": "linux" } } ] }

Per ulteriori informazioni, consulta Gestione dei componenti nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzaredisassociate-service-role-from-account.

AWS CLI

Per dissociare il ruolo di servizio Greengrass dal tuo account AWS

L'disassociate-service-role-from-accountesempio seguente dissocia il ruolo del servizio Greengrass da IoT Greengrass per il AWS tuo account. AWS

aws greengrassv2 disassociate-service-role-from-account

Output:

{ "disassociatedAt": "2022-01-19T19:26:09Z" }

Per ulteriori informazioni, consulta Ruolo di servizio di Greengrass nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzareget-component-version-artifact.

AWS CLI

Come ottenere un URL per scaricare un artefatto del componente

L’esempio get-component-version-artifact seguente ottiene un URL per scaricare la console di debug locale del file JAR del componente.

aws greengrassv2 get-component-version-artifact \ --arn arn:aws:greengrass:us-west-2:aws:components:aws.greengrass.LocalDebugConsole:versions:2.0.3 \ --artifact-name "Uvt6ZEzQ9TKiAuLbfXBX_APdY0TWks3uc46tHFHTzBM=/aws.greengrass.LocalDebugConsole.jar"

Output:

{ "preSignedUrl": "https://evergreencomponentmanageme-artifactbucket7410c9ef-g18n1iya8kwr.s3.us-west-2.amazonaws.com/public/aws.greengrass.LocalDebugConsole/2.0.3/s3/ggv2-component-releases-prod-pdx/EvergreenHttpDebugView/2ffc496ba41b39568968b22c582b4714a937193ee7687a45527238e696672521/aws.greengrass.LocalDebugConsole/aws.greengrass.LocalDebugConsole.jar?X-Amz-Security-Token=KwfLKSdEXAMPLE..." }

Per ulteriori informazioni, consulta Gestione dei componenti nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzareget-component.

AWS CLI

Esempio 1: come scaricare la ricetta di un componente in formato YAML (Linux, macOS o Unix)

L’esempio get-component seguente scarica la ricetta di un componente Hello World in un file in formato YAML. Questo comando funziona nel modo seguente:

Utilizza i parametri --output e --query per controllare l’output del comando. Questi parametri estraggono il blob della ricetta dall’output del comando. Per ulteriori informazioni sul controllo dell’output dei comandi, consulta Controllo dell’output dei comandi nella Guida per l’utente dell’interfaccia a riga di comando AWS . Utilizza la utility base64. Questa utility decodifica il blob estratto nel testo originale. Il blob restituito da un comando get-component eseguito correttamente è un testo con codifica Base64. È necessario decodificare questo blob per ottenere il testo originale. Salva il testo decodificato in un file. La sezione finale del comando (> com.example.HelloWorld-1.0.0.json) salva il testo decodificato in un file.

aws greengrassv2 get-component \ --arn arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0 \ --recipe-output-format YAML \ --query recipe \ --output text | base64 --decode > com.example.HelloWorld-1.0.0.json

Per ulteriori informazioni, consulta Gestione dei componenti nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Esempio 2: come scaricare la ricetta di un componente in formato YAML (Windows CMD)

L’esempio get-component seguente scarica la ricetta di un componente Hello World in un file in formato YAML. Questo comando utilizza l’utility certutil.

aws greengrassv2 get-component ^ --arn arn:aws:greengrass:us-west-2:675946970638:components:com.example.HelloWorld:versions:1.0.0 ^ --recipe-output-format YAML ^ --query recipe ^ --output text > com.example.HelloWorld-1.0.0.yaml.b64 certutil -decode com.example.HelloWorld-1.0.0.yaml.b64 com.example.HelloWorld-1.0.0.yaml

Per ulteriori informazioni, consulta Gestione dei componenti nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Esempio 3: Per scaricare la ricetta di un componente in formato YAML (Windows) PowerShell

L’esempio get-component seguente scarica la ricetta di un componente Hello World in un file in formato YAML. Questo comando utilizza l’utility certutil.

aws greengrassv2 get-component ` --arn arn:aws:greengrass:us-west-2:675946970638:components:com.example.HelloWorld:versions:1.0.0 ` --recipe-output-format YAML ` --query recipe ` --output text > com.example.HelloWorld-1.0.0.yaml.b64 certutil -decode com.example.HelloWorld-1.0.0.yaml.b64 com.example.HelloWorld-1.0.0.yaml

Per ulteriori informazioni, consulta Gestione dei componenti nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

  • Per i dettagli sull'API, consulta AWS CLI Command GetComponentReference.

Il seguente esempio di codice mostra come utilizzareget-connectivity-info.

AWS CLI

Come ottenere le informazioni di connettività per un dispositivo core Greengrass

L’esempio get-connectivity-info seguente ottiene le informazioni di connettività per un dispositivo Greengrass principale. I dispositivi client utilizzano queste informazioni per connettersi al broker MQTT che funziona su questo dispositivo principale.

aws greengrassv2 get-connectivity-info \ --thing-name MyGreengrassCore

Output:

{ "connectivityInfo": [ { "id": "localIP_192.0.2.0", "hostAddress": "192.0.2.0", "portNumber": 8883 } ] }

Per ulteriori informazioni, consulta Gestione degli endpoint dei dispositivi di base nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzareget-core-device.

AWS CLI

Come ottenere un dispositivo principale

L'get-core-deviceesempio seguente ottiene informazioni su un dispositivo principale AWS IoT Greengrass.

aws greengrassv2 get-core-device \ --core-device-thing-name MyGreengrassCore

Output:

{ "coreDeviceThingName": "MyGreengrassCore", "coreVersion": "2.0.3", "platform": "linux", "architecture": "amd64", "status": "HEALTHY", "lastStatusUpdateTimestamp": "2021-01-08T04:57:58.838000-08:00", "tags": {} }

Per ulteriori informazioni, consulta Controllo degli stati dei dispositivi di base nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

  • Per i dettagli sull'API, vedere GetCoreDevicein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareget-deployment.

AWS CLI

Come ottenere un’implementazione

L'get-deploymentesempio seguente ottiene informazioni sull'implementazione del componente AWS IoT Greengrass nucleus su un gruppo di dispositivi principali.

aws greengrassv2 get-deployment \ --deployment-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Output:

{ "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "revisionId": "14", "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "deploymentName": "Deployment for MyGreengrassCoreGroup", "deploymentStatus": "ACTIVE", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "components": { "aws.greengrass.Nucleus": { "componentVersion": "2.0.3", "configurationUpdate": { "merge": "{\"jvmOptions\":\"-Xmx64m\",\"logging\":{\"level\":\"WARN\"}}", "reset": [ "/networkProxy", "/mqtt" ] } } }, "deploymentPolicies": { "failureHandlingPolicy": "ROLLBACK", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "iotJobConfiguration": {}, "creationTimestamp": "2021-01-07T17:21:20.691000-08:00", "isLatestForTarget": false, "tags": {} }

Per ulteriori informazioni, consulta Distribuzione dei componenti ai dispositivi nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

  • Per i dettagli sull'API, consulta AWS CLI Command GetDeploymentReference.

Il seguente esempio di codice mostra come utilizzareget-service-role-for-account.

AWS CLI

Per ottenere il ruolo di servizio Greengrass per il tuo account AWS

L'get-service-role-for-accountesempio seguente ottiene il ruolo di servizio associato a AWS IoT Greengrass per il tuo AWS account.

aws greengrassv2 get-service-role-for-account

Output:

{ "associatedAt": "2022-01-19T19:21:53Z", "roleArn": "arn:aws:iam::123456789012:role/service-role/Greengrass_ServiceRole" }

Per ulteriori informazioni, consulta Ruolo di servizio di Greengrass nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarelist-client-devices-associated-with-core-device.

AWS CLI

Come elencare i dispositivi client a un dispositivo principale

L’esempio list-client-devices-associated-with-core-device seguente elenca tutti i dispositivi client associati a un dispositivo principale.

aws greengrassv2 list-client-devices-associated-with-core-device \ --core-device-thing-name MyTestGreengrassCore

Output:

{ "associatedClientDevices": [ { "thingName": "MyClientDevice2", "associationTimestamp": "2021-07-12T16:33:55.843000-07:00" }, { "thingName": "MyClientDevice1", "associationTimestamp": "2021-07-12T16:33:55.843000-07:00" } ] }

Per ulteriori informazioni, consulta Interazione con i dispositivi IoT locali nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarelist-component-versions.

AWS CLI

Come elencare le versioni di un componente

L’esempio list-component-versions seguente elenca tutte le versioni di un componente Hello World.

aws greengrassv2 list-component-versions \ --arn arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld

Output:

{ "componentVersions": [ { "componentName": "com.example.HelloWorld", "componentVersion": "1.0.1", "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.1" }, { "componentName": "com.example.HelloWorld", "componentVersion": "1.0.0", "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.0" } ] }

Per ulteriori informazioni, consulta Gestione dei componenti nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarelist-components.

AWS CLI

Come elencare i componenti

L'list-componentsesempio seguente elenca ogni componente e la sua versione più recente definita nell' AWS account nella regione corrente.

aws greengrassv2 list-components

Output:

{ "components": [ { "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld", "componentName": "com.example.HelloWorld", "latestVersion": { "arn": "arn:aws:greengrass:us-west-2:123456789012:components:com.example.HelloWorld:versions:1.0.1", "componentVersion": "1.0.1", "creationTimestamp": "2021-01-08T16:51:07.352000-08:00", "description": "My first AWS IoT Greengrass component.", "publisher": "Amazon", "platforms": [ { "attributes": { "os": "linux" } } ] } } ] }

Per ulteriori informazioni, consulta Gestione dei componenti nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarelist-core-devices.

AWS CLI

Come elencare i dispositivi principali

L'list-core-devicesesempio seguente elenca i dispositivi principali AWS IoT Greengrass presenti nel tuo AWS account nella regione corrente.

aws greengrassv2 list-core-devices

Output:

{ "coreDevices": [ { "coreDeviceThingName": "MyGreengrassCore", "status": "HEALTHY", "lastStatusUpdateTimestamp": "2021-01-08T04:57:58.838000-08:00" } ] }

Per ulteriori informazioni, consulta Controllo degli stati dei dispositivi di base nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarelist-deployments.

AWS CLI

Come elencare le implementazioni

L'list-deploymentsesempio seguente elenca l'ultima revisione di ogni distribuzione definita nel tuo AWS account nella regione corrente.

aws greengrassv2 list-deployments

Output:

{ "deployments": [ { "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "revisionId": "14", "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "deploymentName": "Deployment for MyGreengrassCoreGroup", "creationTimestamp": "2021-01-07T17:21:20.691000-08:00", "deploymentStatus": "ACTIVE", "isLatestForTarget": false }, { "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "revisionId": "1", "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "deploymentName": "Deployment for MyGreengrassCore", "creationTimestamp": "2021-01-06T16:10:42.407000-08:00", "deploymentStatus": "COMPLETED", "isLatestForTarget": false } ] }

Per ulteriori informazioni, consulta Distribuzione dei componenti ai dispositivi nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarelist-effective-deployments.

AWS CLI

Come elencare i processi di implementazione

L'list-effective-deploymentsesempio seguente elenca le implementazioni che si applicano a un dispositivo core IoT AWS Greengrass.

aws greengrassv2 list-effective-deployments \ --core-device-thing-name MyGreengrassCore

Output:

{ "effectiveDeployments": [ { "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "deploymentName": "Deployment for MyGreengrassCore", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore", "coreDeviceExecutionStatus": "COMPLETED", "reason": "SUCCESSFUL", "creationTimestamp": "2021-01-06T16:10:42.442000-08:00", "modifiedTimestamp": "2021-01-08T17:21:27.830000-08:00" }, { "deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "deploymentName": "Deployment for MyGreengrassCoreGroup", "iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE44444", "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE44444", "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "coreDeviceExecutionStatus": "SUCCEEDED", "reason": "SUCCESSFUL", "creationTimestamp": "2021-01-07T17:19:20.394000-08:00", "modifiedTimestamp": "2021-01-07T17:21:20.721000-08:00" } ] }

Per ulteriori informazioni, consulta Controllo degli stati dei dispositivi di base nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarelist-installed-components.

AWS CLI

Come elencare i componenti installati in un dispositivo principale

L'list-installed-componentsesempio seguente elenca i componenti installati su un dispositivo core AWS IoT Greengrass.

aws greengrassv2 list-installed-components \ --core-device-thing-name MyGreengrassCore

Output:

{ "installedComponents": [ { "componentName": "aws.greengrass.Cli", "componentVersion": "2.0.3", "lifecycleState": "RUNNING", "isRoot": true }, { "componentName": "aws.greengrass.Nucleus", "componentVersion": "2.0.3", "lifecycleState": "FINISHED", "isRoot": true } ] }

Per ulteriori informazioni, consulta Controllo degli stati dei dispositivi di base nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.

AWS CLI

Come elencare i tag per una risorsa

L'list-tags-for-resourceesempio seguente elenca tutti i tag per un dispositivo core AWS IoT Greengrass.

aws greengrassv2 list-tags-for-resource \ --resource-arn arn:aws:greengrass:us-west-2:123456789012:coreDevices:MyGreengrassCore

Output:

{ "tags": { "Owner": "richard-roe" } }

Per ulteriori informazioni, consulta Associazione di tag alle risorse nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Come aggiungere un tag a una risorsa

L'tag-resourceesempio seguente aggiunge un tag owner a un dispositivo core AWS IoT Greengrass. È possibile utilizzare questo tag per controllare l’accesso al dispositivo principale in base al proprietario.

aws greengrassv2 tag-resource \ --resource-arn arn:aws:greengrass:us-west-2:123456789012:coreDevices:MyGreengrassCore \ --tags Owner=richard-roe

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Associazione di tag alle risorse nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

  • Per i dettagli sull'API, vedere TagResourcein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Come rimuovere un tag da una risorsa

L'untag-resourceesempio seguente rimuove un tag proprietario da un dispositivo principale AWS IoT Greengrass.

aws iotsitewise untag-resource \ --resource-arn arn:aws:greengrass:us-west-2:123456789012:coreDevices:MyGreengrassCore \ --tag-keys Owner

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Associazione di tag alle risorse nella Guida per gli sviluppatori di AWS IoT Greengrass V2.

  • Per i dettagli sull'API, vedere UntagResourcein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareupdate-connectivity-info.

AWS CLI

Come aggiornare le informazioni di connettività per un dispositivo core Greengrass

L’esempio update-connectivity-info seguente ottiene le informazioni di connettività per un dispositivo Greengrass principale. I dispositivi client utilizzano queste informazioni per connettersi al broker MQTT che funziona su questo dispositivo principale.

aws greengrassv2 update-connectivity-info \ --thing-name MyGreengrassCore \ --cli-input-json file://core-device-connectivity-info.json

Contenuto di core-device-connectivity-info.json:

{ "connectivityInfo": [ { "hostAddress": "192.0.2.0", "portNumber": 8883, "id": "localIP_192.0.2.0" } ] }

Output:

{ "version": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Per ulteriori informazioni, consulta Gestione degli endpoint dei dispositivi di base nella Guida per gli sviluppatori di AWS IoT Greengrass V2.