文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS IoT Things Graph 使用 的範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 來執行動作和實作常見案例 AWS IoT Things Graph。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然 動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 associate-entity-to-thing
。
- AWS CLI
-
將物件與裝置建立關聯
下列
associate-entity-to-thing
範例會將物件與裝置建立關聯。此範例使用公有命名空間中的運動感應器裝置。aws iotthingsgraph associate-entity-to-thing \ --thing-name
"MotionSensorName"
\ --entity-id"urn:tdm:aws/examples:Device:HCSR501MotionSensor"
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的建立和上傳模型。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 AssociateEntityToThing
。
-
下列程式碼範例示範如何使用 create-flow-template
。
- AWS CLI
-
建立流程
下列
create-flow-template
範例會建立流程 (工作流程)。的值MyFlowDefinition
是建立流程模型的 GraphQL。aws iotthingsgraph create-flow-template \ --definition language=GRAPHQL,text="MyFlowDefinition"
輸出:
{ "summary": { "createdAt": 1559248067.545, "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", "revisionNumber": 1 } }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用流程。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateFlowTemplate
。
-
下列程式碼範例示範如何使用 create-system-instance
。
- AWS CLI
-
建立系統執行個體
下列
create-system-instance
範例會建立系統執行個體。的值MySystemInstanceDefinition
是建立系統執行個體模型的 GraphQL。aws iotthingsgraph create
-
system-instance -\-definition
language=GRAPHQL,text="MySystemInstanceDefinition" \ --targetCLOUD
\ --flow-actions-role-arnmyRoleARN
輸出:
{ "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 } }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用系統和流程組態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateSystemInstance
。
-
下列程式碼範例示範如何使用 create-system-template
。
- AWS CLI
-
建立系統
下列
create-system-template
範例會建立系統。 MySystemDefinition 的值是建立系統模型的 GraphQL。aws iotthingsgraph create-system-template \ --definition language=GRAPHQL,text="MySystemDefinition"
輸出:
{ "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 } }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的建立系統。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateSystemTemplate
。
-
下列程式碼範例示範如何使用 delete-flow-template
。
- AWS CLI
-
若要刪除流程
下列
delete-flow-template
範例會刪除流程 (工作流程)。aws iotthingsgraph delete-flow-template \ --id
"urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow"
此命令不會產生輸出。
如需詳細資訊,請參閱 IoT Things 圖表使用者指南中的 AWS IoT Things 圖表實體、流程、系統和部署的生命週期管理。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteFlowTemplate
。
-
下列程式碼範例示範如何使用 delete-namespace
。
- AWS CLI
-
若要刪除命名空間
下列
delete-namespace
範例會刪除命名空間。aws iotthingsgraph delete-namespace
輸出:
{ "namespaceArn": "arn:aws:iotthingsgraph:us-west-2:123456789012", "namespaceName": "us-west-2/123456789012/default" }
如需詳細資訊,請參閱 IoT Things 圖表使用者指南中的 AWS IoT Things 圖表實體、流程、系統和部署的生命週期管理。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteNamespace
。
-
下列程式碼範例示範如何使用 delete-system-instance
。
- AWS CLI
-
刪除系統執行個體
下列
delete-system-instance
範例會刪除系統執行個體。aws iotthingsgraph delete-system-instance \ --id
"urn:tdm:us-west-2/123456789012/default:Deployment:Room218"
此命令不會產生輸出。
如需詳細資訊,請參閱 IoT Things 圖表使用者指南中的 AWS IoT Things 圖表實體、流程、系統和部署的生命週期管理。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteSystemInstance
。
-
下列程式碼範例示範如何使用 delete-system-template
。
- AWS CLI
-
若要刪除系統
下列
delete-system-template
範例會刪除系統。aws iotthingsgraph delete-system-template \ --id
"urn:tdm:us-west-2/123456789012/default:System:MySystem"
此命令不會產生輸出。
如需詳細資訊,請參閱 IoT Things 圖表使用者指南中的 AWS IoT Things 圖表實體、流程、系統和部署的生命週期管理。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteSystemTemplate
。
-
下列程式碼範例示範如何使用 deploy-system-instance
。
- AWS CLI
-
部署系統執行個體
下列
delete-system-template
範例會部署系統執行個體。aws iotthingsgraph deploy-system-instance \ --id
"urn:tdm:us-west-2/123456789012/default:Deployment:Room218"
輸出:
{ "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 } }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用系統和流程組態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeploySystemInstance
。
-
下列程式碼範例示範如何使用 deprecate-flow-template
。
- AWS CLI
-
若要取代流程
下列
deprecate-flow-template
範例會取代流程 (工作流程)。aws iotthingsgraph deprecate-flow-template \ --id
"urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow"
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS IoT Things 圖表使用者指南中的 IoT Things 圖表實體、流程、系統和部署的生命週期管理。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeprecateFlowTemplate
。
-
下列程式碼範例示範如何使用 deprecate-system-template
。
- AWS CLI
-
若要取代系統
下列
deprecate-system-template
範例會取代系統。aws iotthingsgraph deprecate-system-template \ --id
"urn:tdm:us-west-2/123456789012/default:System:MySystem"
此命令不會產生輸出。
如需詳細資訊,請參閱 IoT Things 圖表使用者指南中的 AWS IoT Things 圖表實體、流程、系統和部署的生命週期管理。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeprecateSystemTemplate
。
-
下列程式碼範例示範如何使用 describe-namespace
。
- AWS CLI
-
若要取得命名空間的描述
下列
describe-namespace
範例會取得命名空間的描述。aws iotthingsgraph describe-namespace
輸出:
{ "namespaceName": "us-west-2/123456789012/default", "trackingNamespaceName": "aws", "trackingNamespaceVersion": 1, "namespaceVersion": 5 }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的命名空間。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeNamespace
。
-
下列程式碼範例示範如何使用 dissociate-entity-from-thing
。
- AWS CLI
-
取消物件與裝置的關聯
下列
dissociate-entity-from-thing
範例會取消物件與裝置的關聯。aws iotthingsgraph dissociate-entity-from-thing \ --thing-name
"MotionSensorName"
\ --entity-type"DEVICE"
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的建立和上傳模型。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DissociateEntityFromThing
。
-
下列程式碼範例示範如何使用 get-entities
。
- AWS CLI
-
取得實體的定義
下列
get-entities
範例會取得裝置模型的定義。aws iotthingsgraph get-entities \ --ids
"urn:tdm:aws/examples:DeviceModel:MotionSensor"
輸出:
{ "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}" } } ] }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的建立和上傳模型。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetEntities
。
-
下列程式碼範例示範如何使用 get-flow-template-revisions
。
- AWS CLI
-
若要取得流程的修訂資訊
下列
get-flow-template-revisions
範例取得流程 (工作流程) 的修訂資訊。aws iotthingsgraph get-flow-template-revisions \ --id
urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow
輸出:
{ "summaries": [ { "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", "revisionNumber": 1, "createdAt": 1559247540.292 } ] }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用流程。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetFlowTemplateRevisions
。
-
下列程式碼範例示範如何使用 get-flow-template
。
- AWS CLI
-
若要取得流程定義
下列
get-flow-template
範例取得流程 (工作流程) 的定義。aws iotthingsgraph get-flow-template \ --id
"urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow"
輸出:
{ "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 } }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用流程。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetFlowTemplate
。
-
下列程式碼範例示範如何使用 get-namespace-deletion-status
。
- AWS CLI
-
若要取得命名空間刪除任務的狀態
下列
get-namespace-deletion-status
範例會取得命名空間刪除任務的狀態。aws iotthingsgraph get-namespace-deletion-status
輸出:
{ "namespaceArn": "arn:aws:iotthingsgraph:us-west-2:123456789012", "namespaceName": "us-west-2/123456789012/default" "status": "SUCCEEDED " }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的命名空間。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetNamespaceDeletionStatus
。
-
下列程式碼範例示範如何使用 get-system-instance
。
- AWS CLI
-
若要取得系統執行個體
下列
get-system-instance
範例會取得系統執行個體的定義。aws iotthingsgraph get-system-instance \ --id
"urn:tdm:us-west-2/123456789012/default:Deployment:Room218"
輸出:
{ "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" } }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用系統和流程組態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetSystemInstance
。
-
下列程式碼範例示範如何使用 get-system-template-revisions
。
- AWS CLI
-
取得系統修訂資訊
下列
get-system-template-revisions
範例會取得 系統的修訂資訊。aws iotthingsgraph get-system-template-revisions \ --id
"urn:tdm:us-west-2/123456789012/default:System:MySystem"
輸出:
{ "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 } ] }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用系統和流程組態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetSystemTemplateRevisions
。
-
下列程式碼範例示範如何使用 get-system-template
。
- AWS CLI
-
若要取得系統
下列
get-system-template
範例會取得 系統的定義。aws iotthingsgraph get-system-template \ --id
"urn:tdm:us-west-2/123456789012/default:System:MySystem"
輸出:
{ "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 } }
如需詳細資訊,請參閱 AWS IoT Things 圖表使用者指南中的使用系統和流程組態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetSystemTemplate
。
-
下列程式碼範例示範如何使用 get-upload-status
。
- AWS CLI
-
若要取得實體上傳的狀態
下列
get-upload-status
範例會取得實體上傳操作的狀態。的值MyUploadId
是upload-entity-definitions
操作傳回的 ID 值。aws iotthingsgraph get-upload-status \ --upload-id
"MyUploadId"
輸出:
{ "namespaceName": "us-west-2/123456789012/default", "namespaceVersion": 5, "uploadId": "f6294f1e-b109-4bbe-9073-f451a2dda2da", "uploadStatus": "SUCCEEDED" }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的建模實體。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetUploadStatus
。
-
下列程式碼範例示範如何使用 list-flow-execution-messages
。
- AWS CLI
-
取得流程執行中事件的相關資訊
下列
list-flow-execution-messages
範例會取得流程執行中事件的相關資訊。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"
輸出:
{ "messages": [ { "eventType": "EXECUTION_STARTED", "messageId": "f6294f1e-b109-4bbe-9073-f451a2dda2da", "payload": "Flow execution started", "timestamp": 1559247540.656 } ] }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用流程。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListFlowExecutionMessages
。
-
下列程式碼範例示範如何使用 list-tags-for-resource
。
- AWS CLI
-
列出資源的所有標籤
下列
list-tags-for-resource
範例會列出 AWS IoT Things Graph 資源的所有標籤。aws iotthingsgraph list-tags-for-resource \ --resource-arn
"arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218"
輸出:
{ "tags": [ { "key": "Type", "value": "Residential" } ] }
如需詳細資訊,請參閱 AWS IoT Things 圖表使用者指南中的標記您的 IoT Things 圖表資源。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListTagsForResource
。
-
下列程式碼範例示範如何使用 search-entities
。
- AWS CLI
-
搜尋實體
下列
search-entities
範例會搜尋所有類型 的實體EVENT
。aws iotthingsgraph search-entities \ --entity-types
"EVENT"
輸出:
{ "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" }
如需詳細資訊,請參閱 AWS IoT Things 圖表使用者指南中的 IoT Things 圖表資料模型參考。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SearchEntities
。
-
下列程式碼範例示範如何使用 search-flow-executions
。
- AWS CLI
-
搜尋流程執行
下列
search-flow-executions
範例會搜尋指定系統執行個體中流程的所有執行。aws iotthingsgraph search-flow-executions \ --system-instance-id
"urn:tdm:us-west-2/123456789012/default:Deployment:Room218"
輸出:
{ "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 } ] }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用系統和流程組態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SearchFlowExecutions
。
-
下列程式碼範例示範如何使用 search-flow-templates
。
- AWS CLI
-
搜尋流程 (或工作流程)
下列
search-flow-templates
範例會搜尋包含攝影機裝置模型的所有流程 (工作流程)。aws iotthingsgraph search-flow-templates \ --filters name="DEVICE_MODEL_ID",value="urn:tdm:aws/examples:DeviceModel:Camera"
輸出:
{ "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 } ] }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用流程。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SearchFlowTemplates
。
-
下列程式碼範例示範如何使用 search-system-instances
。
- AWS CLI
-
搜尋系統執行個體
下列
search-system-instances
範例會搜尋包含指定系統的所有系統執行個體。aws iotthingsgraph search-system-instances \ --filters name="SYSTEM_TEMPLATE_ID",value="urn:tdm:us-west-2/123456789012/default:System:SecurityFlow"
輸出:
{ "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 } ] }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用系統和流程組態。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SearchSystemInstances
。
-
下列程式碼範例示範如何使用 search-system-templates
。
- AWS CLI
-
搜尋系統
下列
search-system-templates
範例會搜尋所有包含指定流程的系統。aws iotthingsgraph search-system-templates \ --filters name="FLOW_TEMPLATE_ID",value="urn:tdm:us-west-2/123456789012/default:Workflow:SecurityFlow"
輸出:
{ "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 } ] }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用流程。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SearchSystemTemplates
。
-
下列程式碼範例示範如何使用 search-things
。
- AWS CLI
-
搜尋與裝置和裝置模型相關聯的物件
下列
search-things
範例會搜尋與 HCSR501MotionSensor 裝置相關聯的所有物件。aws iotthingsgraph search-things \ --entity-id
"urn:tdm:aws/examples:Device:HCSR501MotionSensor"
輸出:
{ "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" } ] }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的建立和上傳模型。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SearchThings
。
-
下列程式碼範例示範如何使用 tag-resource
。
- AWS CLI
-
為資源建立標籤
下列
tag-resource
範例會為指定的資源建立標籤。aws iotthingsgraph tag-resource \ --resource-arn
"arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218"
\ --tags key="Type",value="Residential"此命令不會產生輸出。
如需詳細資訊,請參閱 AWS IoT Things 圖表使用者指南中的標記您的 IoT Things 圖表資源。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 TagResource
。
-
下列程式碼範例示範如何使用 undeploy-system-instance
。
- AWS CLI
-
從目標中取消部署系統執行個體
下列
undeploy-system-instance
範例會從其目標中移除系統執行個體。aws iotthingsgraph undeploy-system-instance \ --id
"urn:tdm:us-west-2/123456789012/default:Deployment:Room215"
輸出:
{ "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" } }
如需詳細資訊,請參閱 AWS IoT Things 圖表使用者指南中的 IoT Things 圖表實體、流程、系統和部署的生命週期管理。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UndeploySystemInstance
。
-
下列程式碼範例示範如何使用 untag-resource
。
- AWS CLI
-
若要移除資源的標籤
下列
untag-resource
範例會移除指定資源的標籤。aws iotthingsgraph untag-resource \ --resource-arn
"arn:aws:iotthingsgraph:us-west-2:123456789012:Deployment/default/Room218"
\ --tag-keys"Type"
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS IoT Things 圖表使用者指南中的標記您的 IoT Things 圖表資源。 AWS IoT
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UntagResource
。
-
下列程式碼範例示範如何使用 update-flow-template
。
- AWS CLI
-
更新流程
下列
update-flow-template
範例會更新流程 (工作流程)。的值MyFlowDefinition
是建立流程模型的 GraphQL。aws iotthingsgraph update-flow-template \ --id
"urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow"
\ --definition language=GRAPHQL,text="MyFlowDefinition"輸出:
{ "summary": { "createdAt": 1559248067.545, "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow", "revisionNumber": 2 } }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的使用流程。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateFlowTemplate
。
-
下列程式碼範例示範如何使用 update-system-template
。
- AWS CLI
-
更新系統
下列
update-system-template
範例會更新系統。的值MySystemDefinition
是建立系統模型的 GraphQL。aws iotthingsgraph update-system-template \ --id
"urn:tdm:us-west-2/123456789012/default:System:MySystem"
\ --definition language=GRAPHQL,text="MySystemDefinition"輸出:
{ "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 } }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的建立系統。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateSystemTemplate
。
-
下列程式碼範例示範如何使用 upload-entity-definitions
。
- AWS CLI
-
若要上傳實體定義
下列
upload-entity-definitions
範例會將實體定義上傳至您的命名空間。的值MyEntityDefinitions
是建立實體模型的 GraphQL。aws iotthingsgraph upload-entity-definitions \ --document language=GRAPHQL,text="MyEntityDefinitions"
輸出:
{ "uploadId": "f6294f1e-b109-4bbe-9073-f451a2dda2da" }
如需詳細資訊,請參閱 AWS IoT Things Graph 使用者指南中的建模實體。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UploadEntityDefinitions
。
-