Exemples d’utilisation de l’AWS CLI avec AWS IoT Things Graph - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec AWS IoT Things Graph

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec AWS IoT Things Graph.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser associate-entity-to-thing.

AWS CLI

Pour associer un objet à un appareil

L’exemple associate-entity-to-thing suivant associe un objet à un appareil. L’exemple utilise un détecteur de mouvement qui se trouve dans l’espace de noms public.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Création et chargement de modèles dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez AssociateEntityToThing dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-flow-template.

AWS CLI

Pour créer un flux

L’exemple create-flow-template suivant crée un flux (flux de travail). La valeur de MyFlowDefinition est le GraphQL qui modélise le flux.

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

Sortie :

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

Pour plus d’informations, consultez Gestion des flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez CreateFlowTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-system-instance.

AWS CLI

Pour créer une instance de système

L’exemple create-system-instance suivant crée une instance de système. La valeur de MySystemInstanceDefinition est le GraphQL qui modélise l’instance de système.

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

Sortie :

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

Pour plus d’informations, consultez Utilisation de configurations système et de configurations de flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez CreateSystemInstance dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-system-template.

AWS CLI

Pour créer un système

L’exemple create-system-template suivant crée un système. La valeur de MySystemDefinition est le GraphQL qui modélise le système.

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

Sortie :

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

Pour plus d’informations, consultez Création de systèmes dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez CreateSystemTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-flow-template.

AWS CLI

Pour supprimer un flux

L’exemple delete-flow-template suivant supprime un flux (flux de travail).

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Gestion du cycle de vie pour les entités, flux, systèmes et déploiements AWS IoT Things Graph dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez DeleteFlowTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-namespace.

AWS CLI

Pour supprimer un espace de noms

L’exemple delete-namespace suivant supprime un espace de noms.

aws iotthingsgraph delete-namespace

Sortie :

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

Pour plus d’informations, consultez Gestion du cycle de vie pour les entités, flux, systèmes et déploiements AWS IoT Things Graph dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez DeleteNamespace dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-system-instance.

AWS CLI

Pour supprimer une instance de système

L’exemple delete-system-instance suivant supprime une instance de système.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Gestion du cycle de vie pour les entités, flux, systèmes et déploiements AWS IoT Things Graph dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez DeleteSystemInstance dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-system-template.

AWS CLI

Pour supprimer un système

L’exemple delete-system-template suivant supprime un système.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Gestion du cycle de vie pour les entités, flux, systèmes et déploiements AWS IoT Things Graph dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez DeleteSystemTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser deploy-system-instance.

AWS CLI

Pour déployer une instance de système

L’exemple delete-system-template suivant déploie une instance de système.

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

Sortie :

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

Pour plus d’informations, consultez Utilisation de configurations système et de configurations de flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez DeploySystemInstance dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser deprecate-flow-template.

AWS CLI

Pour déprécier un flux

L’exemple deprecate-flow-template suivant déprécie un flux (flux de travail).

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Gestion du cycle de vie pour les entités, flux, systèmes et déploiements AWS IoT Things Graph dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez DeprecateFlowTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser deprecate-system-template.

AWS CLI

Pour déprécier un système

L’exemple deprecate-system-template suivant déprécie un système.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Gestion du cycle de vie pour les entités, flux, systèmes et déploiements AWS IoT Things Graph dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez DeprecateSystemTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-namespace.

AWS CLI

Pour obtenir une description de votre espace de noms

L’exemple describe-namespace suivant obtient une description de votre espace de noms.

aws iotthingsgraph describe-namespace

Sortie :

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

Pour plus d’informations, consultez Espaces de noms dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez DescribeNamespace dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser dissociate-entity-from-thing.

AWS CLI

Pour dissocier un objet d’un appareil

L’exemple dissociate-entity-from-thing suivant dissocie un objet d’un appareil.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Création et chargement de modèles dans le Guide de l’utilisateur AWS IoT Things Graph.

L’exemple de code suivant montre comment utiliser get-entities.

AWS CLI

Pour obtenir des définitions pour des entités

L’exemple get-entities suivant obtient une définition d’un modèle d’appareil.

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

Sortie :

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

Pour plus d’informations, consultez Création et chargement de modèles dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez GetEntities dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-flow-template-revisions.

AWS CLI

Pour obtenir les informations de révision d’un flux

L’exemple get-flow-template-revisions suivant obtient les informations de révision sur un flux (flux de travail).

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

Sortie :

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

Pour plus d’informations, consultez Gestion des flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez GetFlowTemplateRevisions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-flow-template.

AWS CLI

Pour obtenir une définition de flux

L’exemple get-flow-template suivant obtient une définition d’un flux (flux de travail).

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

Sortie :

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

Pour plus d’informations, consultez Gestion des flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez GetFlowTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-namespace-deletion-status.

AWS CLI

Pour obtenir le statut de la tâche de suppression de l’espace de noms

L’exemple get-namespace-deletion-status suivant obtient le statut de la tâche de suppression de l’espace de noms.

aws iotthingsgraph get-namespace-deletion-status

Sortie :

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

Pour plus d’informations, consultez Espaces de noms dans le Guide de l’utilisateur AWS IoT Things Graph.

L’exemple de code suivant montre comment utiliser get-system-instance.

AWS CLI

Pour obtenir une instance de système

L’exemple get-system-instance suivant obtient une définition d’une instance de système.

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

Sortie :

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

Pour plus d’informations, consultez Utilisation de configurations système et de configurations de flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez GetSystemInstance dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-system-template-revisions.

AWS CLI

Pour obtenir les informations de révision d’un système

L’exemple get-system-template-revisions suivant obtient les informations de révision sur un système.

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

Sortie :

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

Pour plus d’informations, consultez Utilisation de configurations système et de configurations de flux dans le Guide de l’utilisateur AWS IoT Things Graph.

L’exemple de code suivant montre comment utiliser get-system-template.

AWS CLI

Pour obtenir un système

L’exemple get-system-template suivant obtient une définition d’un système.

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

Sortie :

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

Pour plus d’informations, consultez Utilisation de configurations système et de configurations de flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez GetSystemTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-upload-status.

AWS CLI

Pour obtenir le statut de votre chargement d’entité

L’exemple get-upload-status suivant obtient le statut de votre opération de chargement d’entité. La valeur de MyUploadId est la valeur d’ID renvoyée par l’opération upload-entity-definitions.

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

Sortie :

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

Pour plus d’informations, consultez Modélisation des entités dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez GetUploadStatus dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-flow-execution-messages.

AWS CLI

Pour obtenir les informations sur les événements liés à l’exécution d’un flux

L’exemple list-flow-execution-messages suivant obtient les informations sur les événements d’une exécution de flux.

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"

Sortie :

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

Pour plus d’informations, consultez Gestion des flux dans le Guide de l’utilisateur AWS IoT Things Graph.

L’exemple de code suivant montre comment utiliser list-tags-for-resource.

AWS CLI

Pour répertorier toutes les balises d’une ressource

L’exemple list-tags-for-resource suivant répertorie toutes les balises d’une ressource AWS IoT Things Graph.

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

Sortie :

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

Pour plus d’informations, consultez Balisage de vos ressources AWS IoT Things Graph dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez ListTagsForResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser search-entities.

AWS CLI

Pour rechercher des entités

L’exemple search-entities suivant recherche toutes les entités de type EVENT.

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

Sortie :

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

Pour plus d’informations, consultez AWS IoT Things Graph Data Model Reference dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez SearchEntities dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser search-flow-executions.

AWS CLI

Pour rechercher des exécutions de flux

L’exemple search-flow-executions suivant recherche toutes les exécutions d’un flux dans une instance de système spécifiée.

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

Sortie :

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

Pour plus d’informations, consultez Utilisation de configurations système et de configurations de flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez SearchFlowExecutions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser search-flow-templates.

AWS CLI

Pour rechercher des flux (ou des flux de travail)

L’exemple search-flow-templates suivant recherche tous les flux (flux de travail) contenant le modèle d’appareil Caméra.

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

Sortie :

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

Pour plus d’informations, consultez Gestion des flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez SearchFlowTemplates dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser search-system-instances.

AWS CLI

Pour rechercher des instances du système

L’exemple search-system-instances suivant recherche toutes les instances du système qui contiennent le système spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Utilisation de configurations système et de configurations de flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez SearchSystemInstances dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser search-system-templates.

AWS CLI

Pour rechercher un système

L’exemple search-system-templates suivant recherche tous les systèmes qui contiennent le flux spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Gestion des flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez SearchSystemTemplates dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser search-things.

AWS CLI

Pour rechercher des objets associés à des appareils et à des modèles d’appareil

L’exemple search-things suivant recherche tous les objets associés à l’appareil HCSR501MotionSensor.

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

Sortie :

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

Pour plus d’informations, consultez Création et chargement de modèles dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez SearchThings dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser tag-resource.

AWS CLI

Pour créer une balise pour une ressource

L’exemple tag-resource suivant crée une balise pour la ressource spécifiée.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Balisage de vos ressources AWS IoT Things Graph dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez TagResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser undeploy-system-instance.

AWS CLI

Pour annuler le déploiement d’une instance de système depuis sa cible

L’exemple undeploy-system-instance suivant supprime une instance de système de sa cible.

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

Sortie :

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

Pour plus d’informations, consultez Gestion du cycle de vie pour les entités, flux, systèmes et déploiements AWS IoT Things Graph dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez UndeploySystemInstance dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser untag-resource.

AWS CLI

Pour supprimer une balise d’une ressource

L’exemple untag-resource suivant supprime une balise de la ressource spécifiée.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Balisage de vos ressources AWS IoT Things Graph dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez UntagResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-flow-template.

AWS CLI

Pour mettre à jour un flux

L’exemple update-flow-template suivant met à jour un flux (flux de travail). La valeur de MyFlowDefinition est le GraphQL qui modélise le flux.

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

Sortie :

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

Pour plus d’informations, consultez Gestion des flux dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez UpdateFlowTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-system-template.

AWS CLI

Pour mettre à jour un système

L’exemple update-system-template suivant met à jour un système. La valeur de MySystemDefinition est le GraphQL qui modélise le système.

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

Sortie :

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

Pour plus d’informations, consultez Création de systèmes dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez UpdateSystemTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser upload-entity-definitions.

AWS CLI

Pour charger des définitions d’entités

L’exemple upload-entity-definitions suivant charge les définitions d’entités dans votre espace de noms. La valeur de MyEntityDefinitions est le GraphQL qui modélise les entités.

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

Sortie :

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

Pour plus d’informations, consultez Modélisation des entités dans le Guide de l’utilisateur AWS IoT Things Graph.

  • Pour plus de détails sur l’API, consultez UploadEntityDefinitions dans la Référence des commandes de l’AWS CLI.