使用 “设备顾问” 示例 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 “设备顾问” 示例 Amazon CLI

以下代码示例向您展示了如何使用 with Device Advisor 来执行操作和实现常见场景。 Amazon Command Line Interface

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景和跨服务示例的上下文查看操作。

场景是展示如何通过在同一服务中调用多个函数来完成特定任务任务的代码示例。

每个示例都包含一个指向的链接 GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 create-suite-definition

Amazon CLI

示例 1:创建 IoT 设备顾问测试套件

以下create-suite-definition示例使用指定的套件定义配置在 Amazon IoT 中创建设备顾问测试套件。

aws iotdeviceadvisor create-suite-definition \ --suite-definition-configuration '{ \ "suiteDefinitionName": "TestSuiteName", \ "devices": [{"thingArn":"arn:aws:iot:us-east-1:123456789012:thing/MyIotThing"}], \ "intendedForQualification": false, \ "rootGroup": "{\"configuration\":{},\"tests\":[{\"name\":\"MQTT Connect\",\"configuration\":{\"EXECUTION_TIMEOUT\":120},\"tests\":[{\"name\":\"MQTT_Connect\",\"configuration\":{},\"test\":{\"id\":\"MQTT_Connect\",\"testCase\":null,\"version\":\"0.0.0\"}}]}]}", \ "devicePermissionRoleArn": "arn:aws:iam::123456789012:role/Myrole"}'

输出:

{ "suiteDefinitionId": "0jtsgio7yenu", "suiteDefinitionArn": "arn:aws:iotdeviceadvisor:us-east-1:123456789012:suitedefinition/0jtsgio7yenu", "suiteDefinitionName": "TestSuiteName", "createdAt": "2022-12-02T11:38:13.263000-05:00" }

有关更多信息,请参阅《Amazon IoT Core 开发者指南》中的创建测试套件定义

示例 2:创建 IoT 设备顾问最新资格测试套件

以下create-suite-definition示例使用 Amazon 物联网中的最新版本和指定的套件定义配置创建设备顾问资格测试套件。

aws iotdeviceadvisor create-suite-definition \ --suite-definition-configuration '{ \ "suiteDefinitionName": "TestSuiteName", \ "devices": [{"thingArn":"arn:aws:iot:us-east-1:123456789012:thing/MyIotThing"}], \ "intendedForQualification": true, \ "rootGroup": "", \ "devicePermissionRoleArn": "arn:aws:iam::123456789012:role/Myrole"}'

输出:

{ "suiteDefinitionId": "txgsuolk2myj", "suiteDefinitionArn": "arn:aws:iotdeviceadvisor:us-east-1:123456789012:suitedefinition/txgsuolk2myj", "suiteDefinitionName": "TestSuiteName", "createdAt": "2022-12-02T11:38:13.263000-05:00" }

有关更多信息,请参阅《Amazon IoT Core 开发者指南》中的创建测试套件定义

以下代码示例演示如何使用 delete-suite-definition

Amazon CLI

删除 IoT 设备顾问测试套件

以下delete-suite-definition示例删除具有指定套件定义 ID 的设备顾问测试套件。

aws iotdeviceadvisor delete-suite-definition \ --suite-definition-id 0jtsgio7yenu

此命令不生成任何输出。

有关更多信息,请参阅 Amazon IoT API 参考DeleteSuiteDefinition中的。

以下代码示例演示如何使用 get-endpoint

Amazon CLI

示例 1:获取有关 IoT 设备顾问账户级端点的信息

以下get-endpoint示例获取有关设备顾问账户级别测试端点的信息。

aws iotdeviceadvisor get-endpoint

输出:

{ "endpoint": "t6y4c143x9sfo.deviceadvisor.iot.us-east-1.amazonaws.com" }

示例 2:获取有关 IoT 设备顾问设备级端点的信息

以下get-endpoint示例获取有关具有指定内容 arn 或 certificate-arn 的设备顾问设备级测试端点的信息。

aws iotdeviceadvisor get-endpoint \ --thing-arn arn:aws:iot:us-east-1:123456789012:thing/MyIotThing

输出:

{ "endpoint": "tdb7719be5t6y4c143x9sfo.deviceadvisor.iot.us-east-1.amazonaws.com" }

有关更多信息,请参阅 Amazon IoT Core 开发者指南中的获取测试端点

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetEndpoint中的。

以下代码示例演示如何使用 get-suite-definition

Amazon CLI

获取有关 IoT 设备顾问测试套件的信息

以下get-suite-definition示例获取有关具有指定套件定义 ID 的 aevice Advisor 测试套件的信息。

aws iotdeviceadvisor get-suite-definition \ --suite-definition-id qqcsmtyyjabl

输出:

{ "suiteDefinitionId": "qqcsmtyyjabl", "suiteDefinitionArn": "arn:aws:iotdeviceadvisor:us-east-1:123456789012:suitedefinition/qqcsmtyyjabl", "suiteDefinitionVersion": "v1", "latestVersion": "v1", "suiteDefinitionConfiguration": { "suiteDefinitionName": "MQTT connection", "devices": [], "intendedForQualification": false, "isLongDurationTest": false, "rootGroup": "{\"configuration\":{},\"tests\":[{\"id\":\"uta5d9j1kvwc\",\"name\":\"Test group 1\",\"configuration\":{},\"tests\":[{\"id\":\"awr8pq5vc9yp\",\"name\":\"MQTT Connect\",\"configuration\":{},\"test\":{\"id\":\"MQTT_Connect\",\"testCase\":null,\"version\":\"0.0.0\"}}]}]}", "devicePermissionRoleArn": "arn:aws:iam::123456789012:role/Myrole", "protocol": "MqttV3_1_1" }, "createdAt": "2022-11-11T22:28:52.389000-05:00", "lastModifiedAt": "2022-11-11T22:28:52.389000-05:00", "tags": {} }

有关更多信息,请参阅 Amazon IoT Core 开发者指南中的获取测试套件定义

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetSuiteDefinition中的。

以下代码示例演示如何使用 get-suite-run-report

Amazon CLI

要获取有关 IoT 设备顾问合格测试套件的信息,请运行报告

以下get-suite-run-report示例获取了使用指定套件定义 ID 和套件运行 ID 成功运行的设备顾问合格测试套件的报告下载链接。

aws iotdeviceadvisor get-suite-run-report \ --suite-definition-id ztvb5aek4w4x \ --suite-run-id p6awv83nre6v

输出:

{ "qualificationReportDownloadUrl": "https://senate-apn-reports-us-east-1-prod.s3.amazonaws.com/report.downloadlink" }

有关更多信息,请参阅《Amazon IoT Core 开发者指南》中的 “获取成功运行的资格测试套件的资格报告”。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetSuiteRunReport中的。

以下代码示例演示如何使用 get-suite-run

Amazon CLI

获取有关 IoT 设备顾问测试套件运行状态的信息

以下get-suite-run示例使用指定的套件定义 ID 和套件运行 ID 获取有关设备顾问测试套件运行状态的信息。

aws iotdeviceadvisor get-suite-run \ --suite-definition-id qqcsmtyyjabl \ --suite-run-id nzlfyhaa18oa

输出:

{ "suiteDefinitionId": "qqcsmtyyjabl", "suiteDefinitionVersion": "v1", "suiteRunId": "nzlfyhaa18oa", "suiteRunArn": "arn:aws:iotdeviceadvisor:us-east-1:123456789012:suiterun/qqcsmtyyjabl/nzlfyhaa18oa", "suiteRunConfiguration": { "primaryDevice": { "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/MyIotThing", "certificateArn": "arn:aws:iot:us-east-1:123456789012:cert/certFile" }, "parallelRun": false }, "testResult": { "groups": [ { "groupId": "uta5d9j1kvwc", "groupName": "Test group 1", "tests": [ { "testCaseRunId": "2ve2twrqyr0s", "testCaseDefinitionId": "awr8pq5vc9yp", "testCaseDefinitionName": "MQTT Connect", "status": "PASS", "startTime": "2022-11-12T00:01:53.693000-05:00", "endTime": "2022-11-12T00:02:15.443000-05:00", "logUrl": "https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logEventViewer:group=/aws/iot/deviceadvisor/qqcsmtyyjabl;stream=nzlfyhaa18oa_2ve2twrqyr0s", "warnings": "null", "failure": "null" } ] } ] }, "startTime": "2022-11-12T00:01:52.673000-05:00", "endTime": "2022-11-12T00:02:16.496000-05:00", "status": "PASS", "tags": {} }

有关更多信息,请参阅《Amazon 物联网核心开发者指南》中的启动测试套件

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetSuiteRun中的。

以下代码示例演示如何使用 list-suite-definitions

Amazon CLI

示例 1:列出您创建的 IoT 设备顾问测试套件

以下list-suite-definitions示例列出了您在 Amazon 物联网中创建的最多 25 个设备顾问测试套件。如果您有超过 25 个测试套件,则输出中将显示 “nextToken”。你可以使用这个 “nextToken” 来显示你创建的其余测试套件。

aws iotdeviceadvisor list-suite-definitions

输出:

{ "suiteDefinitionInformationList": [ { "suiteDefinitionId": "3hsn88h4p2g5", "suiteDefinitionName": "TestSuite1", "defaultDevices": [ { "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/MyIotThing" } ], "intendedForQualification": false, "isLongDurationTest": false, "protocol": "MqttV3_1_1", "createdAt": "2022-11-17T14:15:56.830000-05:00" }, { ...... } ], "nextToken": "nextTokenValue" }

示例 2:列出您使用指定设置创建的 IoT 设备顾问测试套件

以下list-suite-definitions示例列出了您在 Amazon 物联网中创建的具有指定最大结果编号的设备顾问测试套件。如果您的测试套件数量超过最大数量,则输出中将显示 “nextToken”。如果您有 “nextToken”,则可以使用 “nextToken” 来显示您创建的以前未显示的测试套件。

aws iotdeviceadvisor list-suite-definitions \ --max-result 1 \ --next-token "nextTokenValue"

输出:

{ "suiteDefinitionInformationList": [ { "suiteDefinitionId": "ztvb5aew4w4x", "suiteDefinitionName": "TestSuite2", "defaultDevices": [], "intendedForQualification": true, "isLongDurationTest": false, "protocol": "MqttV3_1_1", "createdAt": "2022-11-17T14:15:56.830000-05:00" } ], "nextToken": "nextTokenValue" }

有关更多信息,请参阅 Amazon IoT API 参考ListSuiteDefinitions中的。

以下代码示例演示如何使用 list-suite-runs

Amazon CLI

示例 1:列出有关指定 IoT 设备顾问测试套件运行状态的所有信息

以下list-suite-runs示例列出了有关具有指定套件定义 ID 的设备顾问测试套件运行状态的所有信息。如果您运行的测试套件超过 25 个,则输出中将显示 “nextToken”。你可以使用这个 “nextToken” 来显示测试套件的其余运行情况。

aws iotdeviceadvisor list-suite-runs \ --suite-definition-id ztvb5aew4w4x

输出:

{ "suiteRunsList": [ { "suiteDefinitionId": "ztvb5aew4w4x", "suiteDefinitionVersion": "v1", "suiteDefinitionName": "TestSuite", "suiteRunId": "p6awv89nre6v", "createdAt": "2022-12-01T16:33:14.212000-05:00", "startedAt": "2022-12-01T16:33:15.710000-05:00", "endAt": "2022-12-01T16:42:03.323000-05:00", "status": "PASS", "passed": 6, "failed": 0 } ] }

示例 2:要列出有关指定 IoT Device Advisor 测试套件的信息,请使用指定设置运行状态

以下list-suite-runs示例列出了有关具有指定套件定义 ID 和指定的最大结果编号的设备顾问测试套件运行状态的信息。如果您的测试套件运行次数超过了最大数量,则输出中将显示 “nextToken”。如果你有 “nextToken”,你可以使用 “nextToken” 来显示以前未显示的测试套件运行情况。

aws iotdeviceadvisor list-suite-runs \ --suite-definition-id qqcsmtyyjaml \ --max-result 1 \ --next-token "nextTokenValue"

输出:

{ "suiteRunsList": [ { "suiteDefinitionId": "qqcsmtyyjaml", "suiteDefinitionVersion": "v1", "suiteDefinitionName": "MQTT connection", "suiteRunId": "gz9vm2s6d2jy", "createdAt": "2022-12-01T20:10:27.079000-05:00", "startedAt": "2022-12-01T20:10:28.003000-05:00", "endAt": "2022-12-01T20:10:45.084000-05:00", "status": "STOPPED", "passed": 0, "failed": 0 } ], "nextToken": "nextTokenValue" }

有关更多信息,请参阅 Amazon IoT API 参考ListSuiteRuns中的。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListSuiteRuns中的。

以下代码示例演示如何使用 list-tags-for-resource

Amazon CLI

列出附加到 IoT 设备顾问资源的标签

以下list-tags-for-resource示例列出了附加到设备顾问资源的标签。设备顾问资源可以是 Suitedefinition-Arn 或 Suiterun-Arn。

aws iotdeviceadvisor list-tags-for-resource \ --resource-arn arn:aws:iotdeviceadvisor:us-east-1:123456789012:suitedefinition/ba0uyjpg38ny

输出:

{ "tags": { "TestTagKey": "TestTagValue" } }

有关更多信息,请参阅 I Amazon oT API 参考和《服务授权参考ListTagsForResource中的 I Amazon oT Core Device Advisor 定义的资源类型

以下代码示例演示如何使用 start-suite-run

Amazon CLI

要启动 IoT 设备顾问测试套件,请运行

以下start-suite-run示例列出了您 Amazon 账户中可用的微件。

aws iotdeviceadvisor start-suite-run \ --suite-definition-id qqcsmtyyjabl \ --suite-definition-version v1 \ --suite-run-configuration '{"primaryDevice":{"thingArn": "arn:aws:iot:us-east-1:123456789012:thing/MyIotThing","certificateArn":"arn:aws:iot:us-east-1:123456789012:cert/certFile"}}'

输出:

{ "suiteRunId": "pwmucgw7lt9s", "suiteRunArn": "arn:aws:iotdeviceadvisor:us-east-1:123456789012:suiterun/qqcsmtyyjabl/pwmucgw7lk9s", "createdAt": "2022-12-02T15:43:05.581000-05:00" }

有关更多信息,请参阅 Amazon IoT Core 开发者指南中的启动测试套件运行

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考StartSuiteRun中的。

以下代码示例演示如何使用 stop-suite-run

Amazon CLI

停止当前正在运行的 IoT 设备顾问测试套件

以下stop-suite-run示例停止了当前正在使用指定套件定义 ID 和套件运行 ID 运行的设备顾问测试套件。

aws iotdeviceadvisor stop-suite-run \ --suite-definition-id qqcsmtyyjabl \ --suite-run-id nzlfyhaa18oa

此命令不生成任何输出。

有关更多信息,请参阅《Amazon 物联网核心开发者指南》中的停止测试套件运行

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考StopSuiteRun中的。

以下代码示例演示如何使用 tag-resource

Amazon CLI

添加和修改 IoT 设备顾问资源的现有标签

以下tag-resource示例使用指定的资源 arn 和标签添加和修改设备顾问资源的现有标签。设备顾问资源可以是 Suitedefinition-Arn 或 Suiterun-Arn。

aws iotdeviceadvisor tag-resource \ --resource-arn arn:aws:iotdeviceadvisor:us-east-1:123456789012:suitedefinition/ba0uyjpg38ny \ --tags '{"TagKey": "TagValue"}'

此命令不生成任何输出。

有关更多信息,请参阅 I Amazon oT API 参考和《服务授权参考TagResource中的 I Amazon oT Core Device Advisor 定义的资源类型

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考TagResource中的。

以下代码示例演示如何使用 untag-resource

Amazon CLI

从 IoT 设备顾问资源中移除现有标签

以下untag-resource示例使用指定的资源 arn 和标签密钥从设备顾问资源中删除现有标签。设备顾问资源可以是 Suitedefinition-Arn 或 Suiterun-Arn。

aws iotdeviceadvisor untag-resource \ --resource-arn arn:aws:iotdeviceadvisor:us-east-1:123456789012:suitedefinition/ba0uyjpg38ny \ --tag-keys "TagKey"

此命令不生成任何输出。

有关更多信息,请参阅 I Amazon oT API 参考和《服务授权参考UntagResource中的 I Amazon oT Core Device Advisor 定义的资源类型

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UntagResource中的。

以下代码示例演示如何使用 update-suite-definition

Amazon CLI

示例 1:更新 IoT 设备顾问测试套件

以下update-suite-definition示例使用指定的套件定义 ID 和套件定义配置更新 I Amazon oT 中的设备顾问测试套件。

aws iotdeviceadvisor update-suite-definition \ --suite-definition-id 3hsn88h4p2g5 \ --suite-definition-configuration '{ \ "suiteDefinitionName": "TestSuiteName", \ "devices": [{"thingArn":"arn:aws:iot:us-east-1:123456789012:thing/MyIotThing"}], \ "intendedForQualification": false, \ "rootGroup": "{\"configuration\":{},\"tests\":[{\"name\":\"MQTT Connect\",\"configuration\":{\"EXECUTION_TIMEOUT\":120},\"tests\":[{\"name\":\"MQTT_Connect\",\"configuration\":{},\"test\":{\"id\":\"MQTT_Connect\",\"testCase\":null,\"version\":\"0.0.0\"}}]}]}", \ "devicePermissionRoleArn": "arn:aws:iam::123456789012:role/Myrole"}'

输出:

{ "suiteDefinitionId": "3hsn88h4p2g5", "suiteDefinitionName": "TestSuiteName", "suiteDefinitionVersion": "v3", "createdAt": "2022-11-17T14:15:56.830000-05:00", "lastUpdatedAt": "2022-12-02T16:02:45.857000-05:00" }

示例 2:更新 IoT 设备顾问资格测试套件

以下update-suite-definition示例使用指定的套件定义 ID 和套件定义配置更新 Amazon 物联网中的设备顾问资格测试套件。

aws iotdeviceadvisor update-suite-definition \ --suite-definition-id txgsuolk2myj \ --suite-definition-configuration '{ "suiteDefinitionName": "TestSuiteName", \ "devices": [{"thingArn":"arn:aws:iot:us-east-1:123456789012:thing/MyIotThing"}], \ "intendedForQualification": true, \ "rootGroup": "", \ "devicePermissionRoleArn": "arn:aws:iam::123456789012:role/Myrole"}'

输出:

{ "suiteDefinitionId": "txgsuolk2myj", "suiteDefinitionName": "TestSuiteName", "suiteDefinitionVersion": "v3", "createdAt": "2022-11-17T14:15:56.830000-05:00", "lastUpdatedAt": "2022-12-02T16:02:45.857000-05:00" }

有关更多信息,请参阅 Amazon IoT API 参考UpdateSuiteDefinition中的。