AWS IoT Things Graph-Beispiele unter Verwendung der AWS CLI - AWS Command Line Interface

AWS IoT Things Graph-Beispiele unter Verwendung der AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit AWS IoT Things Graph nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie associate-entity-to-thing verwendet wird.

AWS CLI

So ordnen Sie ein Objekt einem Gerät zu

Im folgenden associate-entity-to-thing-Beispiel wird ein Objekt einem Gerät zugeordnet. Im Beispiel wird ein Bewegungssensorgerät verwendet, das sich im öffentlichen Namespace befindet.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Erstellen und Hochladen von Modellen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie create-flow-template verwendet wird.

AWS CLI

So erstellen Sie einen Flow

Im folgenden create-flow-template-Beispiel wird ein Flow (Workflow) erstellt. Der Wert für MyFlowDefinition ist die GraphQL, die den Flow modelliert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Flows im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie create-system-instance verwendet wird.

AWS CLI

So erstellen Sie eine System-Instance

Im folgenden create-system-instance-Beispiel wird eine System-Instance erstellt. Der Wert für MySystemInstanceDefinition ist die GraphQL, die die System-Instance modelliert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Systemen und Flow-Konfigurationen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie create-system-template verwendet wird.

AWS CLI

So erstellen Sie ein System

Im folgenden create-system-template-Beispiel wird ein System erstellt. Der Wert für MySystemDefinition ist die GraphQL, die das System modelliert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Erstellen von Systemen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie delete-flow-template verwendet wird.

AWS CLI

So löschen Sie einen Flow

Im folgenden delete-flow-template-Beispiel wird ein Flow (Workflow) gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Lebenszyklusmanagement für Entitäten, Flows, Systeme und Bereitstellungen von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie delete-namespace verwendet wird.

AWS CLI

So löschen Sie einen Namespace

Im folgenden delete-namespace-Beispiel wird ein Namespace gelöscht.

aws iotthingsgraph delete-namespace

Ausgabe:

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

Weitere Informationen finden Sie unter Lebenszyklusmanagement für Entitäten, Flows, Systeme und Bereitstellungen von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

  • API-Details finden Sie unter DeleteNamespace in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-system-instance verwendet wird.

AWS CLI

So löschen Sie eine System-Instance

Im folgenden delete-system-instance-Beispiel wird eine System-Instance gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Lebenszyklusmanagement für Entitäten, Flows, Systeme und Bereitstellungen von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie delete-system-template verwendet wird.

AWS CLI

So löschen Sie ein System

Im folgenden delete-system-template-Beispiel wird ein System gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Lebenszyklusmanagement für Entitäten, Flows, Systeme und Bereitstellungen von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie deploy-system-instance verwendet wird.

AWS CLI

So stellen Sie eine System-Instance bereit

Im folgenden delete-system-template-Beispiel wird eine System-Instance bereitgestellt.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Systemen und Flow-Konfigurationen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie deprecate-flow-template verwendet wird.

AWS CLI

So kennzeichnen Sie einen Flow als veraltet

Im folgenden deprecate-flow-template-Beispiel wird ein Flow (Workflow) als veraltet gekennzeichnet.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Lebenszyklusmanagement für Entitäten, Flows, Systeme und Bereitstellungen von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie deprecate-system-template verwendet wird.

AWS CLI

So kennzeichnen Sie ein System als veraltet

Im folgenden deprecate-system-template-Beispiel wird ein System als veraltet gekennzeichnet.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Lebenszyklusmanagement für Entitäten, Flows, Systeme und Bereitstellungen von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie describe-namespace verwendet wird.

AWS CLI

So rufen Sie eine Beschreibung Ihres Namespaces ab

Im folgenden describe-namespace-Beispiel wird eine Beschreibung Ihres Namespaces abgerufen.

aws iotthingsgraph describe-namespace

Ausgabe:

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

Weitere Informationen finden Sie unter Namespaces im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie dissociate-entity-from-thing verwendet wird.

AWS CLI

So heben Sie die Zuordnung eines Objekts zu einem Gerät auf

Im folgenden dissociate-entity-from-thing-Beispiel wird die Zuordnung eines Objekts zu einem Gerät aufgehoben.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Erstellen und Hochladen von Modellen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie get-entities verwendet wird.

AWS CLI

So rufen Sie Definitionen für Entitäten ab

Im folgenden get-entities-Beispiel wird eine Definition für ein Gerätemodell abgerufen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Erstellen und Hochladen von Modellen im Benutzerhandbuch zu AWS IoT Things Graph.

  • API-Details finden Sie unter GetEntities in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-flow-template-revisions verwendet wird.

AWS CLI

So rufen Sie Revisionsinformationen zu einem Flow ab

Im folgenden get-flow-template-revisions-Beispiel werden Änderungsinformationen zu einem Flow (Workflow) abgerufen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Flows im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie get-flow-template verwendet wird.

AWS CLI

So rufen Sie eine Flow-Definition ab

Im folgenden get-flow-template-Beispiel wird eine Definition für einen Flow (Workflow) abgerufen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Flows im Benutzerhandbuch zu AWS IoT Things Graph.

  • API-Details finden Sie unter GetFlowTemplate in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-namespace-deletion-status verwendet wird.

AWS CLI

So rufen Sie den Status der Namespace-Löschaufgabe ab

Im folgenden get-namespace-deletion-status-Beispiel wird der Status der Namespace-Löschaufgabe abgerufen.

aws iotthingsgraph get-namespace-deletion-status

Ausgabe:

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

Weitere Informationen finden Sie unter Namespaces im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie get-system-instance verwendet wird.

AWS CLI

So rufen Sie eine System-Instance ab

Im folgenden get-system-instance-Beispiel wird eine Definition für eine System-Instance abgerufen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Systemen und Flow-Konfigurationen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie get-system-template-revisions verwendet wird.

AWS CLI

So rufen Sie Änderungsinformationen zu einem System ab

Im folgenden get-system-template-revisions-Beispiel werden Änderungsinformationen zu einem System abgerufen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Systemen und Flow-Konfigurationen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie get-system-template verwendet wird.

AWS CLI

So rufen Sie ein System ab

Im folgenden get-system-template-Beispiel wird eine Definition für ein System abgerufen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Systemen und Flow-Konfigurationen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie get-upload-status verwendet wird.

AWS CLI

So rufen Sie den Upload-Status für Ihre Entität ab

Im folgenden get-upload-status-Beispiel wird der Status der Upload-Operation für Ihre Entität abgerufen. Der Wert für MyUploadId ist der ID-Wert, der von der Operation upload-entity-definitions zurückgegeben wurde.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Modellieren von Entitäten im Benutzerhandbuch zu AWS IoT Things Graph.

  • API-Details finden Sie unter GetUploadStatus in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-flow-execution-messages verwendet wird.

AWS CLI

So rufen Sie Informationen zu Ereignissen in einer Flow-Ausführung ab

Im folgenden list-flow-execution-messages-Beispiel werden Informationen zu Ereignissen in einer Flow-Ausführung abgerufen.

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"

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Flows im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie list-tags-for-resource verwendet wird.

AWS CLI

So listen Sie alle Tags für eine Ressource auf

Im folgenden list-tags-for-resource-Beispiel werden alle Tags für eine Ressource von AWS IoT Things Graph aufgelistet.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Taggen Ihrer Ressourcen von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie search-entities verwendet wird.

AWS CLI

So suchen Sie nach Entitäten

Im folgenden search-entities-Beispiel wird nach allen Entitäten des Typs EVENT gesucht.

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

Ausgabe:

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

Weitere Informationen finden Sie in der Datenmodellreferenz von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

  • API-Details finden Sie unter SearchEntities in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie search-flow-executions verwendet wird.

AWS CLI

So suchen Sie nach Flow-Ausführungen

Im folgenden search-flow-executions-Beispiel wird nach allen Ausführungen eines Flows in einer angegebenen System-Instance gesucht.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Systemen und Flow-Konfigurationen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie search-flow-templates verwendet wird.

AWS CLI

So suchen Sie nach Flows (oder Workflows)

Im folgenden search-flow-templates-Beispiel wird nach allen Flows (Workflows) gesucht, die das Kamera-Gerätemodell enthalten.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Flows im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie search-system-instances verwendet wird.

AWS CLI

So suchen Sie nach System-Instances

Im folgenden search-system-instances-Beispiel wird nach allen System-Instances gesucht, die das angegebene System enthalten.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Systemen und Flow-Konfigurationen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie search-system-templates verwendet wird.

AWS CLI

So suchen Sie nach einem System

Im folgenden search-system-templates-Beispiel wird nach allen Systemen gesucht, die den angegebenen Flow enthalten.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Flows im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie search-things verwendet wird.

AWS CLI

So suchen Sie nach Objekten, die mit Geräten und Gerätemodellen verknüpft sind

Im folgenden search-things-Beispiel wird nach allen Objekten gesucht, die mit dem Gerät HCSR501MotionSensor verknüpft sind.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Erstellen und Hochladen von Modellen im Benutzerhandbuch zu AWS IoT Things Graph.

  • API-Details finden Sie unter SearchThings in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie tag-resource verwendet wird.

AWS CLI

So erstellen Sie ein Tag für eine Ressource

Im folgenden tag-resource-Beispiel wird ein Tag für die angegebene Ressource erstellt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Taggen Ihrer Ressourcen von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

  • API-Details finden Sie unter TagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie undeploy-system-instance verwendet wird.

AWS CLI

So heben Sie die Bereitstellung einer System-Instance auf ihrem Ziel auf

Im folgenden undeploy-system-instance-Beispiel wird eine System-Instance aus ihrem Ziel entfernt.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Lebenszyklusmanagement für Entitäten, Flows, Systeme und Bereitstellungen von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie untag-resource verwendet wird.

AWS CLI

So entfernen Sie ein Tag für eine Ressource

Im folgenden untag-resource-Beispiel wird ein Tag für die angegebene Ressource entfernt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Taggen Ihrer Ressourcen von AWS IoT Things Graph im Benutzerhandbuch zu AWS IoT Things Graph.

  • API-Details finden Sie unter UntagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-flow-template verwendet wird.

AWS CLI

So aktualisieren Sie einen Flow

Im folgenden update-flow-template-Beispiel wird ein Flow (Workflow) aktualisiert. Der Wert für MyFlowDefinition ist die GraphQL, die den Flow modelliert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Arbeiten mit Flows im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie update-system-template verwendet wird.

AWS CLI

So aktualisieren Sie ein System

Im folgenden update-system-template-Beispiel wird ein System aktualisiert. Der Wert für MySystemDefinition ist die GraphQL, die das System modelliert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Erstellen von Systemen im Benutzerhandbuch zu AWS IoT Things Graph.

Das folgende Codebeispiel zeigt, wie upload-entity-definitions verwendet wird.

AWS CLI

So laden Sie Entitätsdefinitionen hoch

Im folgenden upload-entity-definitions-Beispiel werden Entitätsdefinitionen in Ihren Namespace hochgeladen. Der Wert für MyEntityDefinitions ist die GraphQL, die die Entitäten modelliert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Modellieren von Entitäten im Benutzerhandbuch zu AWS IoT Things Graph.