Ejemplos de AWS IoT Things Graph que utilizan la AWS CLI - AWS Command Line Interface

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

Ejemplos de AWS IoT Things Graph que utilizan la AWS CLI

En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con 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.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar associate-entity-to-thing.

AWS CLI

Para asociar un objeto con un dispositivo

En el siguiente ejemplo de associate-entity-to-thing, 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 Creating and Uploading Models en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte AssociateEntityToThing en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-flow-template.

AWS CLI

Para crear un flujo

En el siguiente ejemplo de create-flow-template, se 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 Working with Flows en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte CreateFlowTemplate en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-system-instance.

AWS CLI

Para crear una instancia de sistema

En el siguiente ejemplo de create-system-instance, 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 Working with Systems and Flow Configurations en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte CreateSystemInstance en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-system-template.

AWS CLI

Para crear un sistema

En el siguiente ejemplo de create-system-template, 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 Creating Systems en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte CreateSystemTemplate en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-flow-template.

AWS CLI

Para eliminar un flujo

En el siguiente ejemplo de delete-flow-template, 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 obtener información sobre la API, consulte DeleteFlowTemplate en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-namespace.

AWS CLI

Para eliminar un espacio de nombres

En el siguiente ejemplo de delete-namespace, 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 obtener información sobre la API, consulte DeleteNamespace en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-system-instance.

AWS CLI

Para eliminar una instancia de sistema

En el siguiente ejemplo de delete-system-instance, 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 obtener información sobre la API, consulte DeleteSystemInstance en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-system-template.

AWS CLI

Para eliminar un sistema

En el siguiente ejemplo de delete-system-template, 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 obtener información sobre la API, consulte DeleteSystemTemplate en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar deploy-system-instance.

AWS CLI

Para implementar una instancia de sistema

En el siguiente ejemplo de delete-system-template, 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 Working with Systems and Flow Configurations en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte DeploySystemInstance en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar deprecate-flow-template.

AWS CLI

Para dar de baja un flujo

En el siguiente ejemplo de deprecate-flow-template, se da de baja 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.

  • Para obtener información sobre la API, consulte DeprecateFlowTemplate en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar deprecate-system-template.

AWS CLI

Para dar de baja un sistema

En el siguiente ejemplo de deprecate-system-template, se da de baja 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.

  • Para obtener más información sobre la API, consulte DeprecateSystemTemplate en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar describe-namespace.

AWS CLI

Para obtener una descripción de su espacio de nombres

En el siguiente ejemplo de describe-namespace, 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 Namespaces en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte DescribeNamespace en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar dissociate-entity-from-thing.

AWS CLI

Para desasociar un objeto de un dispositivo

En el siguiente ejemplo de dissociate-entity-from-thing, se desvincula 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 Creating and Uploading Models en la Guía del usuario de AWS IoT Things Graph.

En el siguiente ejemplo de código, se muestra cómo utilizar get-entities.

AWS CLI

Para obtener definiciones de las entidades

En el siguiente ejemplo de get-entities, 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 Creating and Uploading Models en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte GetEntities en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-flow-template-revisions.

AWS CLI

Para obtener información de las revisiones de un flujo

En el siguiente ejemplo de get-flow-template-revisions, se obtiene información de revisión de 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 Working with Flows en la Guía del usuario de AWS IoT Things Graph.

En el siguiente ejemplo de código, se muestra cómo utilizar get-flow-template.

AWS CLI

Para obtener una definición de flujo

En el siguiente ejemplo de get-flow-template, 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 Working with Flows en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte GetFlowTemplate en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-namespace-deletion-status.

AWS CLI

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

En el siguiente ejemplo de get-namespace-deletion-status, 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 Namespaces en la Guía del usuario de AWS IoT Things Graph.

En el siguiente ejemplo de código, se muestra cómo utilizar get-system-instance.

AWS CLI

Para obtener una instancia de sistema

En el siguiente ejemplo de get-system-instance, 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 Working with Systems and Flow Configurations en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte GetSystemInstance en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-system-template-revisions.

AWS CLI

Para obtener información de las revisiones de un flujo

En el siguiente ejemplo de get-system-template-revisions, 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 Working with Systems and Flow Configurations en la Guía del usuario de AWS IoT Things Graph.

En el siguiente ejemplo de código, se muestra cómo utilizar get-system-template.

AWS CLI

Para obtener un sistema

En el siguiente ejemplo de get-system-template, 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 Working with Systems and Flow Configurations en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte GetSystemTemplate en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-upload-status.

AWS CLI

Para obtener el estado de la carga de la entidad

En el siguiente ejemplo de get-upload-status, 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 operación upload-entity-definitions.

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 Modeling Entities en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte GetUploadStatus en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-flow-execution-messages.

AWS CLI

Para obtener información sobre los eventos de la ejecución de un flujo

En el siguiente ejemplo de list-flow-execution-messages, 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 Working with Flows en la Guía del usuario de AWS IoT Things Graph.

En el siguiente ejemplo de código, se muestra cómo utilizar list-tags-for-resource.

AWS CLI

Para enumerar todas las etiquetas de un recurso

En el siguiente ejemplo de list-tags-for-resource, 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 Tagging Your AWS IoT Things Graph Resources en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte ListTagsForResource en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar search-entities.

AWS CLI

Para buscar entidades

En el siguiente ejemplo de search-entities, se buscan todas las entidades del tipo EVENT.

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 AWS IoT Things Graph Data Model Reference en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte SearchEntities en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar search-flow-executions.

AWS CLI

Para buscar ejecuciones de flujos

En el siguiente ejemplo de search-flow-executions, 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 Working with Systems and Flow Configurations en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte SearchFlowExecutions en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar search-flow-templates.

AWS CLI

Para buscar flujos (o flujos de trabajo)

En el siguiente ejemplo de search-flow-templates, 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 Working with Flows en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener más información sobre la API, consulte SearchFlowTemplates en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar search-system-instances.

AWS CLI

Para buscar instancias de sistema

En el siguiente ejemplo de search-system-instances, 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 Working with Systems and Flow Configurations en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte SearchSystemInstances en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar search-system-templates.

AWS CLI

Para buscar un sistema

En el siguiente ejemplo de search-system-templates, 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 Working with Flows en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener más información sobre la API, consulte SearchSystemTemplates en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar search-things.

AWS CLI

Para buscar objetos asociados a dispositivos y modelos de dispositivos

En el siguiente ejemplo de search-things, se buscan todos los objetos asociados al dispositivo HCSR501MotionSensor.

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 Creating and Uploading Models en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener más información sobre la API, consulte SearchThings en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar tag-resource.

AWS CLI

Para crear una etiqueta para un recurso

En el siguiente ejemplo de tag-resource, se crea una etiqueta de un 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 Tagging Your AWS IoT Things Graph Resources en la Guía del usuario de AWS IoT Things Graph.

  • Para ver los detalles de la API, consulte TagResource en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar undeploy-system-instance.

AWS CLI

Para anular la implementación de una instancia de sistema de su destino

En el siguiente ejemplo de undeploy-system-instance, 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.

  • Para obtener información sobre la API, consulte UndeploySystemInstance en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar untag-resource.

AWS CLI

Para eliminar una etiqueta de un recurso

En el siguiente ejemplo de untag-resource, 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 Tagging Your AWS IoT Things Graph Resources en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte UntagResource en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-flow-template.

AWS CLI

Para actualizar un flujo

En el siguiente ejemplo de update-flow-template, 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 Working with Flows en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información acerca de la API, consulte UpdateFlowTemplate en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-system-template.

AWS CLI

Para actualizar un sistema

En el siguiente ejemplo de update-system-template, 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 Creating Systems en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte UpdateSystemTemplate en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar upload-entity-definitions.

AWS CLI

Para cargar definiciones de entidades

En el siguiente ejemplo de upload-entity-definitions, se cargan las definiciones de entidades en su 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 Modeling Entities en la Guía del usuario de AWS IoT Things Graph.

  • Para obtener información sobre la API, consulte UploadEntityDefinitions en la Referencia de comandos de la AWS CLI.