AWS IoT Things Graph-Beispiele unter Verwendung von AWS CLI - AWS-SDK-Codebeispiele

Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs verfügbar.

AWS IoT Things Graph-Beispiele unter Verwendung von AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie 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 Servicefunktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

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

Themen

Aktionen

Die folgenden Codebeispiele zeigen, wie associate-entity-to-thing verwendet wird.

AWS CLI

So ordnen Sie ein Objekt einem Gerät zu

Im folgenden Beispiel für associate-entity-to-thing 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie create-flow-template verwendet wird.

AWS CLI

So erstellen Sie einen Flow

Im folgenden Beispiel für create-flow-template wird ein Flow (Workflow) erstellt. Der Wert 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter CreateFlowTemplate in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie create-system-instance verwendet wird.

AWS CLI

So erstellen Sie eine System-Instance

Im folgenden Beispiel für create-system-instance wird eine System-Instance erstellt. Der Wert 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter CreateSystemInstance in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie create-system-template verwendet wird.

AWS CLI

So erstellen Sie ein System

Im folgenden Beispiel für create-system-template 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter CreateSystemTemplate in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie delete-flow-template verwendet wird.

AWS CLI

So löschen Sie einen Flow

Im folgenden Beispiel für delete-flow-template 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter DeleteFlowTemplate in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, 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 für AWS IoT Things Graph.

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

Die folgenden Codebeispiele zeigen, wie delete-system-instance verwendet wird.

AWS CLI

So löschen Sie eine System-Instance

Im folgenden Beispiel für delete-system-instance 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter DeleteSystemInstance in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie delete-system-template verwendet wird.

AWS CLI

So löschen Sie ein System

Im folgenden Beispiel für delete-system-template 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter DeleteSystemTemplate in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie deploy-system-instance verwendet wird.

AWS CLI

So stellen Sie eine System-Instance bereit

Im folgenden Beispiel für delete-system-template 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie deprecate-flow-template verwendet wird.

AWS CLI

So kennzeichnen Sie einen Flow als veraltet

Im folgenden Beispiel für deprecate-flow-template 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie deprecate-system-template verwendet wird.

AWS CLI

So kennzeichnen Sie ein System als veraltet

Im folgenden Beispiel für deprecate-system-template 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie describe-namespace verwendet wird.

AWS CLI

So rufen Sie eine Beschreibung Ihres Namespaces ab

Im folgenden Beispiel für describe-namespace 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter DescribeNamespace in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie dissociate-entity-from-thing verwendet wird.

AWS CLI

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

Im folgenden Beispiel für dissociate-entity-from-thing 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie get-entities verwendet wird.

AWS CLI

So rufen Sie Definitionen für Entitäten ab

Im folgenden Beispiel für get-entities 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 für AWS IoT Things Graph.

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

Die folgenden Codebeispiele zeigen, wie get-flow-template-revisions verwendet wird.

AWS CLI

So rufen Sie Revisionsinformationen zu einem Flow ab

Im folgenden Beispiel für get-flow-template-revisions 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie get-flow-template verwendet wird.

AWS CLI

So rufen Sie eine Flow-Definition ab

Im folgenden Beispiel für get-flow-template 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 für AWS IoT Things Graph.

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

Die folgenden Codebeispiele zeigen, wie get-namespace-deletion-status verwendet wird.

AWS CLI

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

Im folgenden Beispiel für get-namespace-deletion-status 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie get-system-instance verwendet wird.

AWS CLI

So rufen Sie eine System-Instance ab

Im folgenden Beispiel für get-system-instance 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter GetSystemInstance in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie get-system-template-revisions verwendet wird.

AWS CLI

So rufen Sie Änderungsinformationen zu einem System ab

Im folgenden Beispiel für get-system-template-revisions 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie get-system-template verwendet wird.

AWS CLI

So rufen Sie ein System ab

Im folgenden Beispiel für get-system-template 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter GetSystemTemplate in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie get-upload-status verwendet wird.

AWS CLI

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

Im folgenden Beispiel für get-upload-status 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 für AWS IoT Things Graph.

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

Die folgenden Codebeispiele zeigen, wie list-flow-execution-messages verwendet wird.

AWS CLI

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

Im folgenden Beispiel für list-flow-execution-messages 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie list-tags-for-resource verwendet wird.

AWS CLI

So listen Sie alle Tags für eine Ressource auf

Im folgenden Beispiel für list-tags-for-resource 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter ListTagsForResource in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie search-entities verwendet wird.

AWS CLI

So suchen Sie nach Entitäten

Im folgenden Beispiel für search-entities 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 für AWS IoT Things Graph.

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

Die folgenden Codebeispiele zeigen, wie search-flow-executions verwendet wird.

AWS CLI

So suchen Sie nach Flow-Ausführungen

Im folgenden Beispiel für search-flow-executions 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie search-flow-templates verwendet wird.

AWS CLI

So suchen Sie nach Flows (oder Workflows)

Im folgenden Beispiel für search-flow-templates 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter SearchFlowTemplates in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie search-system-instances verwendet wird.

AWS CLI

So suchen Sie nach System-Instances

Im folgenden Beispiel für search-system-instances 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie search-system-templates verwendet wird.

AWS CLI

So suchen Sie nach einem System

Im folgenden Beispiel für search-system-templates 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie search-things verwendet wird.

AWS CLI

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

Im folgenden Beispiel für search-things 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 für AWS IoT Things Graph.

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

Die folgenden Codebeispiele zeigen, wie tag-resource verwendet wird.

AWS CLI

So erstellen Sie ein Tag für eine Ressource

Im folgenden Beispiel für tag-resource 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 für AWS IoT Things Graph.

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

Die folgenden Codebeispiele zeigen, wie undeploy-system-instance verwendet wird.

AWS CLI

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

Im folgenden Beispiel für undeploy-system-instance 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie untag-resource verwendet wird.

AWS CLI

So entfernen Sie ein Tag für eine Ressource

Im folgenden Beispiel für untag-resource 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 für AWS IoT Things Graph.

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

Die folgenden Codebeispiele zeigen, wie update-flow-template verwendet wird.

AWS CLI

So aktualisieren Sie einen Flow

Im folgenden Beispiel für update-flow-template wird ein Flow (Workflow) aktualisiert. Der Wert 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 für AWS IoT Things Graph.

  • Weitere API-Informationen finden Sie unter UpdateFlowTemplate in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie update-system-template verwendet wird.

AWS CLI

So aktualisieren Sie ein System

Im folgenden Beispiel für update-system-template 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 für AWS IoT Things Graph.

Die folgenden Codebeispiele zeigen, wie upload-entity-definitions verwendet wird.

AWS CLI

So laden Sie Entitätsdefinitionen hoch

Im folgenden Beispiel für upload-entity-definitions werden Entitätsdefinitionen in Ihren Namespace hochgeladen. Der Wert 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 für AWS IoT Things Graph.