AWS IoT Things Graph ejemplos que utilizan AWS CLI - AWS Command Line Interface

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 Things Graph 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 Things Graph.

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-entity-to-thing.

AWS CLI

Para asociar una cosa a un dispositivo

En el siguiente associate-entity-to-thing ejemplo, se asocia un objeto a un dispositivo. En el ejemplo se utiliza un dispositivo sensor de movimiento que se encuentra en el espacio de nombres público.

aws iotthingsgraph associate-entity-to-thing \ --thing-name "MotionSensorName" \ --entity-id "urn:tdm:aws/examples:Device:HCSR501MotionSensor"

Este comando no genera ninguna salida.

Para obtener más información, consulte Creación y carga de modelos en la Guía del usuario de AWS IoT Things Graph.

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

AWS CLI

Para crear un flujo

El siguiente create-flow-template ejemplo crea un flujo (flujo de trabajo). El valor de MyFlowDefinition es el GraphQL que modela el flujo.

aws iotthingsgraph create-flow-template \ --definition language=GRAPHQL,text="MyFlowDefinition"

Salida:

{ "summary": { "createdAt": 1559248067.545, "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", "revisionNumber": 1 } }

Para obtener más información, consulte Cómo trabajar con flujos en la guía del usuario de AWS IoT Things Graph.

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

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

AWS CLI

Para crear una instancia del sistema

En el siguiente create-system-instance ejemplo, se crea una instancia del sistema. El valor de MySystemInstanceDefinition es el GraphQL que modela la instancia del sistema.

aws iotthingsgraph create-system-instance -\ -definition language=GRAPHQL,text="MySystemInstanceDefinition" \ --target CLOUD \ --flow-actions-role-arn myRoleARN

Salida:

{ "summary": { "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room218", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218", "status": "NOT_DEPLOYED", "target": "CLOUD", "createdAt": 1559249315.208, "updatedAt": 1559249315.208 } }

Para obtener más información, consulte Trabajar con configuraciones de sistemas y flujos en la Guía del usuario de AWS IoT Things Graph.

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

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

AWS CLI

Para crear un sistema

En el create-system-template ejemplo siguiente se crea un sistema. El valor de MySystemDefinition es el GraphQL que modela el sistema.

aws iotthingsgraph create-system-template \ --definition language=GRAPHQL,text="MySystemDefinition"

Salida:

{ "summary": { "createdAt": 1559249776.254, "id": "urn:tdm:us-west-2/123456789012/default:System:MySystem", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:System/default/MySystem", "revisionNumber": 1 } }

Para obtener más información, consulte Creación de sistemas en la Guía del usuario de AWS IoT Things Graph.

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

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

AWS CLI

Para eliminar un flujo

En el siguiente delete-flow-template ejemplo, se elimina un flujo (flujo de trabajo).

aws iotthingsgraph delete-flow-template \ --id "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow"

Este comando no genera ninguna salida.

Para obtener más información, consulte Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems and Deployments en la Guía del usuario de AWS IoT Things Graph.

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

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

AWS CLI

Para eliminar un espacio de nombres

En el siguiente delete-namespace ejemplo, se elimina un espacio de nombres.

aws iotthingsgraph delete-namespace

Salida:

{ "namespaceArn": "arn:aws:iotthingsgraph:us-west-2:123456789012", "namespaceName": "us-west-2/123456789012/default" }

Para obtener más información, consulte Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems and Deployments en la Guía del usuario de AWS IoT Things Graph.

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

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

AWS CLI

Para eliminar una instancia del sistema

En el siguiente delete-system-instance ejemplo, se elimina una instancia del sistema.

aws iotthingsgraph delete-system-instance \ --id "urn:tdm:us-west-2/123456789012/default:Deployment:Room218"

Este comando no genera ninguna salida.

Para obtener más información, consulte Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems and Deployments en la Guía del usuario de AWS IoT Things Graph.

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

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

AWS CLI

Para eliminar un sistema

En el siguiente delete-system-template ejemplo, se elimina un sistema.

aws iotthingsgraph delete-system-template \ --id "urn:tdm:us-west-2/123456789012/default:System:MySystem"

Este comando no genera ninguna salida.

Para obtener más información, consulte Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems and Deployments en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarlodeploy-system-instance.

AWS CLI

Para implementar una instancia del sistema

En el siguiente delete-system-template ejemplo, se implementa una instancia del sistema.

aws iotthingsgraph deploy-system-instance \ --id "urn:tdm:us-west-2/123456789012/default:Deployment:Room218"

Salida:

{ "summary": { "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment:Room218", "createdAt": 1559249776.254, "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room218", "status": "DEPLOYED_IN_TARGET", "target": "CLOUD", "updatedAt": 1559249776.254 } }

Para obtener más información, consulte Trabajar con configuraciones de sistemas y flujos en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarlodeprecate-flow-template.

AWS CLI

Para desaprobar un flujo

En el siguiente deprecate-flow-template ejemplo, se desaprueba un flujo (flujo de trabajo).

aws iotthingsgraph deprecate-flow-template \ --id "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow"

Este comando no genera ninguna salida.

Para obtener más información, consulte Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems and Deployments en la Guía del usuario de AWS IoT Things Graph.

El siguiente ejemplo de código muestra cómo usarlodeprecate-system-template.

AWS CLI

Para dejar en desuso un sistema

En el siguiente deprecate-system-template ejemplo, se desaprueba un sistema.

aws iotthingsgraph deprecate-system-template \ --id "urn:tdm:us-west-2/123456789012/default:System:MySystem"

Este comando no genera ninguna salida.

Para obtener más información, consulte Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems and Deployments en la Guía del usuario de AWS IoT Things Graph.

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

AWS CLI

Para obtener una descripción del espacio de nombres

En el siguiente describe-namespace ejemplo, se obtiene una descripción del espacio de nombres.

aws iotthingsgraph describe-namespace

Salida:

{ "namespaceName": "us-west-2/123456789012/default", "trackingNamespaceName": "aws", "trackingNamespaceVersion": 1, "namespaceVersion": 5 }

Para obtener más información, consulte los espacios de nombres en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarlodissociate-entity-from-thing.

AWS CLI

Para disociar una cosa de un dispositivo

En el siguiente dissociate-entity-from-thing ejemplo, se disocia un objeto de un dispositivo.

aws iotthingsgraph dissociate-entity-from-thing \ --thing-name "MotionSensorName" \ --entity-type "DEVICE"

Este comando no genera ninguna salida.

Para obtener más información, consulte Creación y carga de modelos en la Guía del usuario de AWS IoT Things Graph.

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

AWS CLI

Para obtener definiciones de entidades

En el siguiente get-entities ejemplo, se obtiene una definición de un modelo de dispositivo.

aws iotthingsgraph get-entities \ --ids "urn:tdm:aws/examples:DeviceModel:MotionSensor"

Salida:

{ "descriptions": [ { "id": "urn:tdm:aws/examples:DeviceModel:MotionSensor", "type": "DEVICE_MODEL", "createdAt": 1559256190.599, "definition": { "language": "GRAPHQL", "text": "##\n# Specification of motion sensor devices interface.\n##\ntype MotionSensor @deviceModel(id: \"urn:tdm:aws/examples:deviceModel:MotionSensor\",\n capability: \"urn:tdm:aws/examples:capability:MotionSensorCapability\") {ignore:void}" } } ] }

Para obtener más información, consulte Creación y carga de modelos en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarloget-flow-template-revisions.

AWS CLI

Para obtener información de revisión sobre un flujo

En el siguiente get-flow-template-revisions ejemplo, se obtiene información de revisión sobre un flujo (flujo de trabajo).

aws iotthingsgraph get-flow-template-revisions \ --id urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow

Salida:

{ "summaries": [ { "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", "revisionNumber": 1, "createdAt": 1559247540.292 } ] }

Para obtener más información, consulte Cómo trabajar con flujos en la guía del usuario de AWS IoT Things Graph.

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

AWS CLI

Para obtener una definición de flujo

En el siguiente get-flow-template ejemplo, se obtiene una definición de un flujo (flujo de trabajo).

aws iotthingsgraph get-flow-template \ --id "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow"

Salida:

{ "description": { "summary": { "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", "revisionNumber": 1, "createdAt": 1559247540.292 }, "definition": { "language": "GRAPHQL", "text": "{\nquery MyFlow($camera: string!, $screen: string!) @workflowType(id: \"urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow\") @annotation(type: \"tgc:FlowEvent\", id: \"sledged790c1b2bcd949e09da0c9bfc077f79d\", x: 1586, y: 653) @triggers(definition: \"{MotionSensor(description: \\\"\\\") @position(x: 1045, y: 635.6666564941406) {\\n condition(expr: \\\"devices[name == \\\\\\\"motionSensor\\\\\\\"].events[name == \\\\\\\"StateChanged\\\\\\\"].lastEvent\\\")\\n action(expr: \\\"\\\")\\n}}\") {\n variables {\n cameraResult @property(id: \"urn:tdm:aws/examples:property:CameraStateProperty\")\n }\n steps {\n step(name: \"Camera\", outEvent: [\"sledged790c1b2bcd949e09da0c9bfc077f79d\"]) @position(x: 1377, y: 638.6666564941406) {\n DeviceActivity(deviceModel: \"urn:tdm:aws/examples:deviceModel:Camera\", out: \"cameraResult\", deviceId: \"${camera}\") {\n capture\n }\n }\n step(name: \"Screen\", inEvent: [\"sledged790c1b2bcd949e09da0c9bfc077f79d\"]) @position(x: 1675.6666870117188, y: 637.9999847412109) {\n DeviceActivity(deviceModel: \"urn:tdm:aws/examples:deviceModel:Screen\", deviceId: \"${screen}\") {\n display(imageUrl: \"${cameraResult.lastClickedImage}\")\n }\n }\n }\n}\n}" }, "validatedNamespaceVersion": 5 } }

Para obtener más información, consulte Cómo trabajar con flujos en la guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarloget-namespace-deletion-status.

AWS CLI

Para obtener el estado de la tarea de eliminación del espacio de nombres

En el siguiente get-namespace-deletion-status ejemplo, se obtiene el estado de la tarea de eliminación del espacio de nombres.

aws iotthingsgraph get-namespace-deletion-status

Salida:

{ "namespaceArn": "arn:aws:iotthingsgraph:us-west-2:123456789012", "namespaceName": "us-west-2/123456789012/default" "status": "SUCCEEDED " }

Para obtener más información, consulte los espacios de nombres en la Guía del usuario de AWS IoT Things Graph.

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

AWS CLI

Para obtener una instancia del sistema

En el siguiente get-system-instance ejemplo, se obtiene una definición de una instancia del sistema.

aws iotthingsgraph get-system-instance \ --id "urn:tdm:us-west-2/123456789012/default:Deployment:Room218"

Salida:

{ "description": { "summary": { "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room218", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218", "status": "NOT_DEPLOYED", "target": "CLOUD", "createdAt": 1559249315.208, "updatedAt": 1559249315.208 }, "definition": { "language": "GRAPHQL", "text": "{\r\nquery Room218 @deployment(id: \"urn:tdm:us-west-2/123456789012/default:Deployment:Room218\", systemId: \"urn:tdm:us-west-2/123456789012/default:System:SecurityFlow\") {\r\n motionSensor(deviceId: \"MotionSensorName\")\r\n screen(deviceId: \"ScreenName\")\r\n camera(deviceId: \"CameraName\") \r\n triggers {MotionEventTrigger(description: \"a trigger\") { \r\n condition(expr: \"devices[name == 'motionSensor'].events[name == 'StateChanged'].lastEvent\") \r\n action(expr: \"ThingsGraph.startFlow('SecurityFlow', bindings[name == 'camera'].deviceId, bindings[name == 'screen'].deviceId)\")\r\n }\r\n }\r\n }\r\n }" }, "metricsConfiguration": { "cloudMetricEnabled": false }, "validatedNamespaceVersion": 5, "flowActionsRoleArn": "arn:aws:iam::123456789012:role/ThingsGraphRole" } }

Para obtener más información, consulte Trabajar con configuraciones de sistemas y flujos en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarloget-system-template-revisions.

AWS CLI

Para obtener información de revisión sobre un sistema

En el siguiente get-system-template-revisions ejemplo, se obtiene información de revisión sobre un sistema.

aws iotthingsgraph get-system-template-revisions \ --id "urn:tdm:us-west-2/123456789012/default:System:MySystem"

Salida:

{ "summaries": [ { "id": "urn:tdm:us-west-2/123456789012/default:System:MySystem", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:System/default/MySystem", "revisionNumber": 1, "createdAt": 1559247540.656 } ] }

Para obtener más información, consulte Trabajar con configuraciones de sistemas y flujos en la Guía del usuario de AWS IoT Things Graph.

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

AWS CLI

Para obtener un sistema

En el siguiente get-system-template ejemplo se obtiene una definición de un sistema.

aws iotthingsgraph get-system-template \ --id "urn:tdm:us-west-2/123456789012/default:System:MySystem"

Salida:

{ "description": { "summary": { "id": "urn:tdm:us-west-2/123456789012/default:System:MySystem", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:System/default/MyFlow", "revisionNumber": 1, "createdAt": 1559247540.656 }, "definition": { "language": "GRAPHQL", "text": "{\ntype MySystem @systemType(id: \"urn:tdm:us-west-2/123456789012/default:System:MySystem\", description: \"\") {\n camera: Camera @thing(id: \"urn:tdm:aws/examples:deviceModel:Camera\")\n screen: Screen @thing(id: \"urn:tdm:aws/examples:deviceModel:Screen\")\n motionSensor: MotionSensor @thing(id: \"urn:tdm:aws/examples:deviceModel:MotionSensor\")\n MyFlow: MyFlow @workflow(id: \"urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow\")\n}\n}" }, "validatedNamespaceVersion": 5 } }

Para obtener más información, consulte Trabajar con configuraciones de sistemas y flujos en la Guía del usuario de AWS IoT Things Graph.

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

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

AWS CLI

Para obtener el estado de tu entidad, sube

En el siguiente get-upload-status ejemplo, se obtiene el estado de la operación de carga de la entidad. El valor de MyUploadId es el valor de ID devuelto por la upload-entity-definitions operación.

aws iotthingsgraph get-upload-status \ --upload-id "MyUploadId"

Salida:

{ "namespaceName": "us-west-2/123456789012/default", "namespaceVersion": 5, "uploadId": "f6294f1e-b109-4bbe-9073-f451a2dda2da", "uploadStatus": "SUCCEEDED" }

Para obtener más información, consulte Modelado de entidades en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarlolist-flow-execution-messages.

AWS CLI

Para obtener información sobre los eventos de una ejecución de flujo

En el siguiente list-flow-execution-messages ejemplo, se obtiene información sobre los eventos de una ejecución de flujo.

aws iotthingsgraph list-flow-execution-messages \ --flow-execution-id "urn:tdm:us-west-2/123456789012/default:Workflow:SecurityFlow_2019-05-11T19:39:55.317Z_MotionSensor_69b151ad-a611-42f5-ac21-fe537f9868ad"

Salida:

{ "messages": [ { "eventType": "EXECUTION_STARTED", "messageId": "f6294f1e-b109-4bbe-9073-f451a2dda2da", "payload": "Flow execution started", "timestamp": 1559247540.656 } ] }

Para obtener más información, consulte Cómo trabajar con flujos en la guía del usuario de AWS IoT Things Graph.

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

AWS CLI

Para enumerar todas las etiquetas de un recurso

En el siguiente list-tags-for-resource ejemplo, se enumeran todas las etiquetas de un recurso de AWS IoT Things Graph.

aws iotthingsgraph list-tags-for-resource \ --resource-arn "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218"

Salida:

{ "tags": [ { "key": "Type", "value": "Residential" } ] }

Para obtener más información, consulte Cómo etiquetar los recursos de gráficos de AWS IoT Things en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarlosearch-entities.

AWS CLI

Para buscar entidades

En el siguiente search-entities ejemplo, se buscan todas las entidades del tipoEVENT.

aws iotthingsgraph search-entities \ --entity-types "EVENT"

Salida:

{ "descriptions": [ { "id": "urn:tdm:aws/examples:Event:MotionSensorEvent", "type": "EVENT", "definition": { "language": "GRAPHQL", "text": "##\n# Description of events emitted by motion sensor.\n##\ntype MotionSensorEvent @eventType(id: \"urn:tdm:aws/examples:event:MotionSensorEvent\",\n payload: \"urn:tdm:aws/examples:property:MotionSensorStateProperty\") {ignore:void}" } }, { "id": "urn:tdm:us-west-2/123456789012/default:Event:CameraClickedEventV2", "type": "EVENT", "definition": { "language": "GRAPHQL", "text": "type CameraClickedEventV2 @eventType(id: \"urn:tdm:us-west-2/123456789012/default:event:CameraClickedEventV2\",\r\npayload: \"urn:tdm:aws:Property:Boolean\"){ignore:void}" } }, { "id": "urn:tdm:us-west-2/123456789012/default:Event:MotionSensorEventV2", "type": "EVENT", "definition": { "language": "GRAPHQL", "text": "# Event emitted by the motion sensor.\r\ntype MotionSensorEventV2 @eventType(id: \"urn:tdm:us-west-2/123456789012/default:event:MotionSensorEventV2\",\r\npayload: \"urn:tdm:us-west-2/123456789012/default:property:MotionSensorStateProperty2\") {ignore:void}" } } ], "nextToken": "urn:tdm:us-west-2/123456789012/default:Event:MotionSensorEventV2" }

Para obtener más información, consulte la referencia del modelo de datos de AWS IoT Things Graph en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarlosearch-flow-executions.

AWS CLI

Para buscar ejecuciones de flujos

En el siguiente search-flow-executions ejemplo, se buscan todas las ejecuciones de un flujo en una instancia del sistema especificada.

aws iotthingsgraph search-flow-executions \ --system-instance-id "urn:tdm:us-west-2/123456789012/default:Deployment:Room218"

Salida:

{ "summaries": [ { "createdAt": 1559247540.656, "flowExecutionId": "f6294f1e-b109-4bbe-9073-f451a2dda2da", "flowTemplateId": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", "status": "RUNNING ", "systemInstanceId": "urn:tdm:us-west-2/123456789012/default:System:MySystem", "updatedAt": 1559247540.656 } ] }

Para obtener más información, consulte Trabajar con configuraciones de sistemas y flujos en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarlosearch-flow-templates.

AWS CLI

Para buscar flujos (o flujos de trabajo)

En el siguiente search-flow-templates ejemplo, se buscan todos los flujos (flujos de trabajo) que contienen el modelo de dispositivo de cámara.

aws iotthingsgraph search-flow-templates \ --filters name="DEVICE_MODEL_ID",value="urn:tdm:aws/examples:DeviceModel:Camera"

Salida:

{ "summaries": [ { "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", "revisionNumber": 1, "createdAt": 1559247540.292 }, { "id": "urn:tdm:us-west-2/123456789012/default:Workflow:SecurityFlow", "revisionNumber": 3, "createdAt": 1548283099.27 } ] }

Para obtener más información, consulte Cómo trabajar con flujos en la guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarlosearch-system-instances.

AWS CLI

Para buscar instancias del sistema

En el siguiente search-system-instances ejemplo, se buscan todas las instancias del sistema que contienen el sistema especificado.

aws iotthingsgraph search-system-instances \ --filters name="SYSTEM_TEMPLATE_ID",value="urn:tdm:us-west-2/123456789012/default:System:SecurityFlow"

Salida:

{ "summaries": [ { "id": "urn:tdm:us-west-2/123456789012/default:Deployment:DeploymentForSample", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/DeploymentForSample", "status": "NOT_DEPLOYED", "target": "GREENGRASS", "greengrassGroupName": "ThingsGraphGrnGr", "createdAt": 1555716314.707, "updatedAt": 1555716314.707 }, { "id": "urn:tdm:us-west-2/123456789012/default:Deployment:MockDeployment", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/MockDeployment", "status": "DELETED_IN_TARGET", "target": "GREENGRASS", "greengrassGroupName": "ThingsGraphGrnGr", "createdAt": 1549416462.049, "updatedAt": 1549416722.361, "greengrassGroupId": "01d04b07-2a51-467f-9d03-0c90b3cdcaaf", "greengrassGroupVersionId": "7365aed7-2d3e-4d13-aad8-75443d45eb05" }, { "id": "urn:tdm:us-west-2/123456789012/default:Deployment:MockDeployment2", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/MockDeployment2", "status": "DEPLOYED_IN_TARGET", "target": "GREENGRASS", "greengrassGroupName": "ThingsGraphGrnGr", "createdAt": 1549572385.774, "updatedAt": 1549572418.408, "greengrassGroupId": "01d04b07-2a51-467f-9d03-0c90b3cdcaaf", "greengrassGroupVersionId": "bfa70ab3-2bf7-409c-a4d4-bc8328ae5b86" }, { "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room215", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room215", "status": "NOT_DEPLOYED", "target": "GREENGRASS", "greengrassGroupName": "ThingsGraphGG", "createdAt": 1547056918.413, "updatedAt": 1547056918.413 }, { "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room218", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218", "status": "NOT_DEPLOYED", "target": "CLOUD", "createdAt": 1559249315.208, "updatedAt": 1559249315.208 } ] }

Para obtener más información, consulte Trabajar con configuraciones de sistemas y flujos en la Guía del usuario de AWS IoT Things Graph.

El siguiente ejemplo de código muestra cómo usarlosearch-system-templates.

AWS CLI

Para buscar un sistema

En el siguiente search-system-templates ejemplo, se buscan todos los sistemas que contienen el flujo especificado.

aws iotthingsgraph search-system-templates \ --filters name="FLOW_TEMPLATE_ID",value="urn:tdm:us-west-2/123456789012/default:Workflow:SecurityFlow"

Salida:

{ "summaries": [ { "id": "urn:tdm:us-west-2/123456789012/default:System:SecurityFlow", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:System/default/SecurityFlow", "revisionNumber": 1, "createdAt": 1548283099.433 } ] }

Para obtener más información, consulte Cómo trabajar con flujos en la guía del usuario de AWS IoT Things Graph.

El siguiente ejemplo de código muestra cómo usarlosearch-things.

AWS CLI

Para buscar elementos asociados a dispositivos y modelos de dispositivos

En el siguiente search-things ejemplo, se buscan todos los elementos asociados al MotionSensor dispositivo HCSR5 01.

aws iotthingsgraph search-things \ --entity-id "urn:tdm:aws/examples:Device:HCSR501MotionSensor"

Salida:

{ "things": [ { "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MotionSensor1", "thingName": "MotionSensor1" }, { "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/TG_MS", "thingName": "TG_MS" } ] }

Para obtener más información, consulte Creación y carga de modelos en la Guía del usuario de AWS IoT Things Graph.

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

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

AWS CLI

Para crear una etiqueta para un recurso

En el siguiente tag-resource ejemplo, se crea una etiqueta para el recurso especificado.

aws iotthingsgraph tag-resource \ --resource-arn "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218" \ --tags key="Type",value="Residential"

Este comando no genera ninguna salida.

Para obtener más información, consulte Cómo etiquetar los recursos de gráficos de AWS IoT Things en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarloundeploy-system-instance.

AWS CLI

Para anular el despliegue de una instancia del sistema de su destino

En el siguiente undeploy-system-instance ejemplo, se elimina una instancia del sistema de su destino.

aws iotthingsgraph undeploy-system-instance \ --id "urn:tdm:us-west-2/123456789012/default:Deployment:Room215"

Salida:

{ "summary": { "id": "urn:tdm:us-west-2/123456789012/default:Deployment:Room215", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room215", "status": "PENDING_DELETE", "target": "GREENGRASS", "greengrassGroupName": "ThingsGraphGrnGr", "createdAt": 1553189694.255, "updatedAt": 1559344549.601, "greengrassGroupId": "01d04b07-2a51-467f-9d03-0c90b3cdcaaf", "greengrassGroupVersionId": "731b371d-d644-4b67-ac64-3934e99b75d7" } }

Para obtener más información, consulte Lifecycle Management for AWS IoT Things Graph Entities, Flows, Systems and Deployments en la Guía del usuario de AWS IoT Things Graph.

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

AWS CLI

Para eliminar una etiqueta de un recurso

En el siguiente untag-resource ejemplo, se elimina una etiqueta del recurso especificado.

aws iotthingsgraph untag-resource \ --resource-arn "arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218" \ --tag-keys "Type"

Este comando no genera ninguna salida.

Para obtener más información, consulte Cómo etiquetar los recursos de gráficos de AWS IoT Things en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarloupdate-flow-template.

AWS CLI

Para actualizar un flujo

En el siguiente update-flow-template ejemplo, se actualiza un flujo (flujo de trabajo). El valor de MyFlowDefinition es el GraphQL que modela el flujo.

aws iotthingsgraph update-flow-template \ --id "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow" \ --definition language=GRAPHQL,text="MyFlowDefinition"

Salida:

{ "summary": { "createdAt": 1559248067.545, "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", "revisionNumber": 2 } }

Para obtener más información, consulte Cómo trabajar con flujos en la guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarloupdate-system-template.

AWS CLI

Para actualizar un sistema

En el siguiente update-system-template ejemplo, se actualiza un sistema. El valor de MySystemDefinition es el GraphQL que modela el sistema.

aws iotthingsgraph update-system-template \ --id "urn:tdm:us-west-2/123456789012/default:System:MySystem" \ --definition language=GRAPHQL,text="MySystemDefinition"

Salida:

{ "summary": { "createdAt": 1559249776.254, "id": "urn:tdm:us-west-2/123456789012/default:System:MySystem", "arn": "arn:aws:iotthingsgraph:us-west-2:123456789012:System/default/MySystem", "revisionNumber": 2 } }

Para obtener más información, consulte Creación de sistemas en la Guía del usuario de AWS IoT Things Graph.

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

El siguiente ejemplo de código muestra cómo usarloupload-entity-definitions.

AWS CLI

Para cargar definiciones de entidades

En el siguiente upload-entity-definitions ejemplo, se cargan las definiciones de entidades en tu espacio de nombres. El valor de MyEntityDefinitions es el GraphQL que modela las entidades.

aws iotthingsgraph upload-entity-definitions \ --document language=GRAPHQL,text="MyEntityDefinitions"

Salida:

{ "uploadId": "f6294f1e-b109-4bbe-9073-f451a2dda2da" }

Para obtener más información, consulte Modelado de entidades en la Guía del usuario de AWS IoT Things Graph.