AWS IoT Greengrass V2 ejemplos que utilizan AWS CLI - AWS Command Line Interface

Esta documentación es AWS CLI únicamente para la versión 1 de la versión. Para ver la documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS IoT Greengrass V2 ejemplos que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS Command Line Interface with AWS IoT Greengrass V2.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

El siguiente ejemplo de código muestra cómo usarloassociate-service-role-to-account.

AWS CLI

Para asociar el rol de servicio de Greengrass a su cuenta AWS

El siguiente associate-service-role-to-account ejemplo asocia un rol de servicio a AWS IoT Greengrass para su AWS cuenta.

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

Salida:

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

Para obtener más información, consulte la función de servicio de Greengrass en la Guía para desarrolladores de IoT AWS Greengrass V2.

El siguiente ejemplo de código muestra cómo usarlobatch-associate-client-device-with-core-device.

AWS CLI

Para asociar dispositivos cliente a un dispositivo principal

El siguiente batch-associate-client-device-with-core-device ejemplo asocia dos dispositivos cliente a un dispositivo principal.

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

Salida:

{ "errorEntries": [] }

Para obtener más información, consulte Interactuar con dispositivos de IoT locales en la Guía para desarrolladores de AWS IoT Greengrass V2.

El siguiente ejemplo de código muestra cómo usarlobatch-disassociate-client-device-from-core-device.

AWS CLI

Para desasociar los dispositivos cliente de un dispositivo principal

El siguiente batch-disassociate-client-device-from-core-device ejemplo disocia dos dispositivos cliente de un dispositivo principal.

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

Salida:

{ "errorEntries": [] }

Para obtener más información, consulte Interactuar con dispositivos de IoT locales en la Guía para desarrolladores de AWS IoT Greengrass V2.

El siguiente ejemplo de código muestra cómo usarlocancel-deployment.

AWS CLI

Para cancelar un despliegue

El siguiente cancel-deployment ejemplo detiene un despliegue continuo en un grupo de cosas.

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

Salida:

{ "message": "SUCCESS" }

Para obtener más información, consulte Cancelar despliegues en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte la Referencia CancelDeploymentde AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocreate-component-version.

AWS CLI

Ejemplo 1: Para crear una versión de un componente a partir de una receta

El siguiente create-component-version ejemplo crea una versión de un componente de Hello World a partir de un archivo de recetas.

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

Contenidos de 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}'" } } ] }

Salida:

{ "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": {} } }

Para obtener más información, consulte Crear componentes personalizados y Cargar componentes para desplegarlos en la Guía para desarrolladores de AWS IoT Greengrass V2.

Ejemplo 2: Para crear una versión de un componente a partir de una AWS función Lambda

En el siguiente create-component-version ejemplo, se crea una versión de un componente de Hello World a partir de una AWS función Lambda.

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

Contenidos de 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" } ] } } }

Salida:

{ "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": {} } }

Para obtener más información, consulte Ejecutar funciones AWS Lambda en la Guía para desarrolladores de IoT AWS Greengrass V2.

El siguiente ejemplo de código muestra cómo usarlocreate-deployment.

AWS CLI

Ejemplo 1: Para crear una implementación

En el siguiente create-deployment ejemplo, se implementa la interfaz de línea de comandos de AWS IoT Greengrass en un dispositivo central.

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

Contenidos de 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": {} }

Salida:

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

Para obtener más información, consulte Crear despliegues en la Guía para desarrolladores de AWS IoT Greengrass V2.

Ejemplo 2: Para crear una implementación que actualice las configuraciones de los componentes

En el siguiente create-deployment ejemplo, se implementa el componente núcleo de AWS IoT Greengrass en un grupo de dispositivos principales. Esta implementación aplica las siguientes actualizaciones de configuración para el componente núcleo:

Restablezca la configuración de proxy de los dispositivos de destino a su configuración predeterminada sin proxy. Restablezca la configuración de los dispositivos de destino a sus valores predeterminados. MQTT Establece las JVM opciones del núcleo. Establece el nivel de registro del núcleo. JVM

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

Contenidos de 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": {} }

Salida:

{ "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" }

Para obtener más información, consulte Crear despliegues y actualizar configuraciones de componentes en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte la Referencia CreateDeploymentde AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-component.

AWS CLI

Para eliminar una versión de un componente

En el siguiente delete-component ejemplo, se elimina un componente de Hello World.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Administrar componentes en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte DeleteComponentla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-core-device.

AWS CLI

Para eliminar un dispositivo principal

En el siguiente delete-core-device ejemplo, se elimina un dispositivo AWS principal de IoT Greengrass.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Desinstalar el software AWS IoT Greengrass Core en la Guía para desarrolladores de IoT AWS Greengrass V2.

  • Para API obtener más información, consulte la Referencia DeleteCoreDevicede AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodescribe-component.

AWS CLI

Para describir la versión de un componente

El siguiente describe-component ejemplo describe un componente de Hello World.

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

Salida:

{ "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" } } ] }

Para obtener más información, consulte Administrar componentes en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte DescribeComponentla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodisassociate-service-role-from-account.

AWS CLI

Para desasociar el rol de servicio de Greengrass de su cuenta AWS

El siguiente disassociate-service-role-from-account ejemplo desvincula la función de servicio Greengrass de AWS IoT Greengrass para su cuenta. AWS

aws greengrassv2 disassociate-service-role-from-account

Salida:

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

Para obtener más información, consulte la función de servicio de Greengrass en la Guía para desarrolladores de IoT AWS Greengrass V2.

El siguiente ejemplo de código muestra cómo usarloget-component-version-artifact.

AWS CLI

Para URL descargar un artefacto componente

En el siguiente get-component-version-artifact ejemplo, se descarga el archivo del componente de la consola de JAR depuración local. URL

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"

Salida:

{ "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..." }

Para obtener más información, consulte Administrar componentes en la Guía para desarrolladores de AWS IoT Greengrass V2.

El siguiente ejemplo de código muestra cómo usarloget-component.

AWS CLI

Ejemplo 1: Para descargar la receta de un componente en YAML formato (Linux, macOS o Unix)

En el siguiente get-component ejemplo, se descarga la receta de un componente de Hello World a un archivo en YAML formato. Este comando hace lo siguiente:

Utiliza los --query parámetros --output y para controlar el resultado del comando. Estos parámetros extraen el blob de recetas de la salida del comando. Para obtener más información sobre el control de la salida, consulte Control de la salida de comandos en la Guía del usuario de la interfaz de línea de AWS comandos. Utiliza la base64 utilidad. Esta utilidad decodifica el blob extraído para convertirlo en el texto original. El blob que devuelve un get-component comando correcto es texto codificado en base64. Debe decodificar este blob para obtener el texto original. Guarda el texto decodificado en un archivo. La última sección del comando (> com.example.HelloWorld-1.0.0.json) guarda el texto decodificado en un archivo.

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

Para obtener más información, consulte Administrar componentes en la Guía para desarrolladores de AWS IoT Greengrass V2.

Ejemplo 2: Para descargar la receta de un componente en YAML formato (WindowsCMD)

En el siguiente get-component ejemplo, se descarga la receta de un componente de Hello World a un archivo en YAML formato. Este comando usa la certutil utilidad.

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

Para obtener más información, consulte Administrar componentes en la Guía para desarrolladores de AWS IoT Greengrass V2.

Ejemplo 3: Para descargar la receta de un componente en YAML formato (Windows PowerShell)

En el siguiente get-component ejemplo, se descarga la receta de un componente de Hello World a un archivo en YAML formato. Este comando usa la certutil utilidad.

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

Para obtener más información, consulte Administrar componentes en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte GetComponentla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-connectivity-info.

AWS CLI

Para obtener la información de conectividad de un dispositivo principal de Greengrass

El siguiente get-connectivity-info ejemplo obtiene la información de conectividad de un dispositivo principal de Greengrass. Los dispositivos cliente utilizan esta información para conectarse al MQTT intermediario que se ejecuta en este dispositivo principal.

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

Salida:

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

Para obtener más información, consulte Administrar los puntos finales de los dispositivos principales en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte la Referencia GetConnectivityInfode AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-core-device.

AWS CLI

Para obtener un dispositivo principal

En el siguiente get-core-device ejemplo, se obtiene información sobre un AWS dispositivo principal de IoT Greengrass.

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

Salida:

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

Para obtener más información, consulte Comprobar el estado del dispositivo principal en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte GetCoreDevicela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-deployment.

AWS CLI

Para obtener una implementación

En el siguiente get-deployment ejemplo, se obtiene información sobre el despliegue del componente core de AWS IoT Greengrass en un grupo de dispositivos principales.

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

Salida:

{ "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": {} }

Para obtener más información, consulte Implementar componentes en dispositivos en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte GetDeploymentla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-service-role-for-account.

AWS CLI

Para obtener el rol de servicio de Greengrass para su cuenta AWS

En el siguiente get-service-role-for-account ejemplo, se obtiene el rol de servicio asociado a AWS IoT Greengrass para su AWS cuenta.

aws greengrassv2 get-service-role-for-account

Salida:

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

Para obtener más información, consulte la función de servicio de Greengrass en la Guía para desarrolladores de IoT AWS Greengrass V2.

El siguiente ejemplo de código muestra cómo usarlolist-client-devices-associated-with-core-device.

AWS CLI

Para enumerar los dispositivos cliente asociados a un dispositivo principal

En el siguiente list-client-devices-associated-with-core-device ejemplo, se enumeran todos los dispositivos cliente asociados a un dispositivo principal.

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

Salida:

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

Para obtener más información, consulte Interactuar con dispositivos de IoT locales en la Guía para desarrolladores de AWS IoT Greengrass V2.

El siguiente ejemplo de código muestra cómo usarlolist-component-versions.

AWS CLI

Para enumerar las versiones de un componente

En el siguiente list-component-versions ejemplo, se enumeran todas las versiones de un componente de Hello World.

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

Salida:

{ "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" } ] }

Para obtener más información, consulte Administrar componentes en la Guía para desarrolladores de AWS IoT Greengrass V2.

El siguiente ejemplo de código muestra cómo usarlolist-components.

AWS CLI

Para enumerar los componentes

El siguiente list-components ejemplo muestra cada componente y su última versión definida en su AWS cuenta en la región actual.

aws greengrassv2 list-components

Salida:

{ "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" } } ] } } ] }

Para obtener más información, consulte Administrar componentes en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte ListComponentsla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlolist-core-devices.

AWS CLI

Para enumerar los dispositivos principales

En el siguiente list-core-devices ejemplo, se enumeran los dispositivos principales de AWS IoT Greengrass de tu AWS cuenta en la región actual.

aws greengrassv2 list-core-devices

Salida:

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

Para obtener más información, consulte Comprobar el estado del dispositivo principal en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte ListCoreDevicesla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlolist-deployments.

AWS CLI

Para enumerar las implementaciones

En el siguiente list-deployments ejemplo, se muestra la última revisión de cada despliegue definido en su AWS cuenta en la región actual.

aws greengrassv2 list-deployments

Salida:

{ "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 } ] }

Para obtener más información, consulte Implementar componentes en dispositivos en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte ListDeploymentsla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlolist-effective-deployments.

AWS CLI

Para enumerar los trabajos de despliegue

En el siguiente list-effective-deployments ejemplo, se enumeran las implementaciones que se aplican a un dispositivo principal de AWS IoT Greengrass.

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

Salida:

{ "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" } ] }

Para obtener más información, consulte Comprobar el estado del dispositivo principal en la Guía para desarrolladores de AWS IoT Greengrass V2.

El siguiente ejemplo de código muestra cómo usarlolist-installed-components.

AWS CLI

Para enumerar los componentes instalados en un dispositivo principal

En el siguiente list-installed-components ejemplo, se enumeran los componentes que están instalados en un dispositivo principal de AWS IoT Greengrass.

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

Salida:

{ "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 } ] }

Para obtener más información, consulte Comprobar el estado del dispositivo principal en la Guía para desarrolladores de AWS IoT Greengrass V2.

El siguiente ejemplo de código muestra cómo usarlolist-tags-for-resource.

AWS CLI

Para enumerar las etiquetas de un recurso

En el siguiente list-tags-for-resource ejemplo, se enumeran todas las etiquetas de un AWS dispositivo principal de IoT Greengrass.

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

Salida:

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

Para obtener más información, consulte Etiquete sus recursos en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte ListTagsForResourcela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlotag-resource.

AWS CLI

Cómo añadir una etiqueta a un recurso

El siguiente tag-resource ejemplo agrega una etiqueta de propietario a un dispositivo principal de AWS IoT Greengrass. Puede usar esta etiqueta para controlar el acceso al dispositivo principal en función de quién es su propietario.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Etiquete sus recursos en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte TagResourcela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlountag-resource.

AWS CLI

Para eliminar una etiqueta de un recurso

El siguiente untag-resource ejemplo elimina una etiqueta de propietario de un dispositivo principal de AWS IoT Greengrass.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Etiquete sus recursos en la Guía para desarrolladores de AWS IoT Greengrass V2.

  • Para API obtener más información, consulte UntagResourcela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-connectivity-info.

AWS CLI

Para actualizar la información de conectividad de un dispositivo principal de Greengrass

El siguiente update-connectivity-info ejemplo obtiene la información de conectividad de un dispositivo principal de Greengrass. Los dispositivos cliente utilizan esta información para conectarse al MQTT intermediario que se ejecuta en este dispositivo principal.

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

Contenidos de core-device-connectivity-info.json:

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

Salida:

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

Para obtener más información, consulte Administrar los puntos finales de los dispositivos principales en la Guía para desarrolladores de AWS IoT Greengrass V2.