Esempi di AWS IoT Greengrass V2 con la AWS CLI - AWS Command Line Interface

Esempi di AWS IoT Greengrass V2 con la AWS CLI

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

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

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare associate-service-role-to-account.

AWS CLI

Come associare il ruolo di servizio Greengrass all’account AWS corrente

Nell’esempio seguente, associate-service-role-to-account associa un ruolo di servizio ad AWS IoT Greengrass nel tuo account AWS.

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 sviluppatori di AWS IoT Greengrass V2.

L’esempio di codice seguente mostra come utilizzare batch-associate-client-device-with-core-device.

AWS CLI

Come associare i dispositivi client a un dispositivo principale

Nell’esempio seguente, batch-associate-client-device-with-core-device 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 sviluppatori di AWS IoT Greengrass V2.

L’esempio di codice seguente mostra come utilizzare batch-disassociate-client-device-from-core-device.

AWS CLI

Come dissociare i dispositivi client da un dispositivo principale

Nell’esempio seguente, batch-disassociate-client-device-from-core-device 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 sviluppatori di AWS IoT Greengrass V2.

L’esempio di codice seguente mostra come utilizzare cancel-deployment.

AWS CLI

Come annullare un’implementazione

Nell’esempio seguente, cancel-deployment interrompe un’implementazione continua verso 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 sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta CancelDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-component-version.

AWS CLI

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

Nell’esempio seguente, create-component-version 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 e Caricamento di componenti sull’implementazione nella Guida per sviluppatori di AWS IoT Greengrass V2.

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

Nell’esempio seguente, create-component-version 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 Esecuzione di funzioni AWS Lambda nella Guida per sviluppatori di AWS IoT Greengrass V2.

L’esempio di codice seguente mostra come utilizzare create-deployment.

AWS CLI

Esempio 1: come creare un’implementazione

Nell’esempio seguente, create-deployment distribuisce l’interfaccia a riga di comando di 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 sviluppatori di AWS IoT Greengrass V2.

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

Nell’esempio seguente, create-deployment distribuisce il componente nucleus di AWS IoT Greengrass 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 e Aggiornamento delle configurazioni dei componenti nella Guida per sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta CreateDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-component.

AWS CLI

Come eliminare una versione del componente

Nell’esempio seguente, delete-component 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.

  • Per informazioni dettagliate sull’API, consulta DeleteComponent in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-core-device.

AWS CLI

Come eliminare un dispositivo principale

Nell’esempio seguente, delete-core-device 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 Disinstallazione del software di base di AWS IoT Greengrass nella Guida per sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta DeleteCoreDevice in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare describe-component.

AWS CLI

Come descrivere una versione del componente

Nell’esempio seguente, describe-component 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.

  • Per informazioni dettagliate sull’API, consulta DescribeComponent in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare disassociate-service-role-from-account.

AWS CLI

Come dissociare un ruolo di servizio Greengrass dall’account AWS corrente

Nell’esempio seguente, disassociate-service-role-from-account dissocia il ruolo di servizio Greengrass da AWS IoT Greengrass per il 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 sviluppatori di AWS IoT Greengrass V2.

L’esempio di codice seguente mostra come utilizzare get-component-version-artifact.

AWS CLI

Come ottenere un URL per scaricare un artefatto del componente

Nell’esempio seguente, get-component-version-artifact 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.

L’esempio di codice seguente mostra come utilizzare get-component.

AWS CLI

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

Nell’esempio seguente, get-component 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 l’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)

Nell’esempio seguente, get-component 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: come scaricare la ricetta di un componente in formato YAML (Windows PowerShell)

Nell’esempio seguente, get-component 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 informazioni dettagliate sull’API, consulta GetComponent in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-connectivity-info.

AWS CLI

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

Nell’esempio seguente, get-connectivity-info 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 sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta GetConnectivityInfo in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-core-device.

AWS CLI

Come ottenere un dispositivo principale

Nell’esempio seguente, get-core-device ottiene informazioni su un dispositivo principale di 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 sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta GetCoreDevice in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-deployment.

AWS CLI

Come ottenere un’implementazione

Nell’esempio seguente, get-deployment ottiene informazioni sull’implementazione del componente nucleus di AWS IoT Greengrass 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 sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta GetDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-service-role-for-account.

AWS CLI

Come ottenere il ruolo di servizio Greengrass per l’account AWS corrente

Nell’esempio seguente, get-service-role-for-account ottiene il ruolo di servizio associato ad AWS IoT Greengrass nel tuo account AWS.

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 sviluppatori di AWS IoT Greengrass V2.

L’esempio di codice seguente mostra come utilizzare list-client-devices-associated-with-core-device.

AWS CLI

Come elencare i dispositivi client associati a un dispositivo principale

Nell’esempio seguente, list-client-devices-associated-with-core-device 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 sviluppatori di AWS IoT Greengrass V2.

L’esempio di codice seguente mostra come utilizzare list-component-versions.

AWS CLI

Come elencare le versioni di un componente

Nell’esempio seguente, list-component-versions 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.

L’esempio di codice seguente mostra come utilizzare list-components.

AWS CLI

Come elencare i componenti

Nell’esempio seguente, list-components elenca ogni componente e la sua versione più recente definita nell’account AWS 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.

  • Per informazioni dettagliate sull’API, consulta ListComponents in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-core-devices.

AWS CLI

Come elencare i dispositivi principali

Nell’esempio seguente, list-core-devices elenca i dispositivi principali di AWS IoT Greengrass presenti nel tuo account AWS 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 sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta ListCoreDevices in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-deployments.

AWS CLI

Come elencare le implementazioni

Nell’esempio seguente, list-deployments elenca la revisione più recente di ogni implementazione definita nel tuo account AWS 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 sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta ListDeployments in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-effective-deployments.

AWS CLI

Come elencare processi di implementazione

Nell’esempio seguente, list-effective-deployments elenca le implementazioni che si applicano a un dispositivo principale di AWS IoT 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 sviluppatori di AWS IoT Greengrass V2.

L’esempio di codice seguente mostra come utilizzare list-installed-components.

AWS CLI

Come elencare i componenti installati in un dispositivo principale

Nell’esempio seguente, list-installed-components elenca i componenti installati su un dispositivo principale di 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 sviluppatori di AWS IoT Greengrass V2.

L’esempio di codice seguente mostra come utilizzare list-tags-for-resource.

AWS CLI

Come elencare i tag per una risorsa

Nell’esempio seguente, list-tags-for-resource elenca tutti i tag per un dispositivo principale di 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 sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta ListTagsForResource nella Documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare tag-resource.

AWS CLI

Come aggiungere un tag a una risorsa

Nell’esempio seguente, tag-resource aggiunge un tag proprietario a un dispositivo principale di 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 sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta TagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare untag-resource.

AWS CLI

Come rimuovere un tag da una risorsa

Nell’esempio seguente, untag-resource rimuove un tag proprietario da un dispositivo principale di 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 sviluppatori di AWS IoT Greengrass V2.

  • Per informazioni dettagliate sull’API, consulta UntagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-connectivity-info.

AWS CLI

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

Nell’esempio seguente, update-connectivity-info ottiene le informazioni di connettività per un dispositivo principale di Greengrass. 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 sviluppatori di AWS IoT Greengrass V2.