本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南。
使用 AWS CLI 的 Device Advisor 示例
以下代码示例演示了如何通过将 AWS Command Line Interface与 Device Advisor 结合使用,执行操作和实现常见场景。
操作 是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 create-suite-definition
。
- AWS CLI
-
示例 1:创建 IoT Device Advisor 测试套件
以下
create-suite-definition
示例使用指定套件定义配置在 AWS IoT 中创建 Device Advisor 测试套件。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" }
有关更多信息,请参阅《AWS IoT Core 开发人员指南》中的创建测试套件定义。
示例 2:创建 IoT Device Advisor 最新合格测试套件
以下
create-suite-definition
示例使用指定套件定义配置在 AWS IoT 中创建包含最新版本的 Device Advisor 合格测试套件。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" }
有关更多信息,请参阅《AWS IoT Core 开发人员指南》中的创建测试套件定义。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateSuiteDefinition
。
-
以下代码示例演示了如何使用 delete-suite-definition
。
- AWS CLI
-
删除 IoT Device Advisor 测试套件
以下
delete-suite-definition
示例删除具有指定套件定义 ID 的 Device Advisor 测试套件。aws iotdeviceadvisor delete-suite-definition \ --suite-definition-id
0jtsgio7yenu
此命令不生成任何输出。
有关更多信息,请参阅《AWS IoT API 参考》中的 DeleteSuiteDefinition。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteSuiteDefinition
。
-
以下代码示例演示了如何使用 get-endpoint
。
- AWS CLI
-
示例 1:获取有关 IoT Device Advisor 账户级端点的信息
以下
get-endpoint
示例获取有关 Device Advisor 账户级测试端点的信息。aws iotdeviceadvisor get-endpoint
输出:
{ "endpoint": "t6y4c143x9sfo.deviceadvisor.iot.us-east-1.amazonaws.com" }
示例 2:获取有关 IoT Device Advisor 设备级端点的信息
以下
get-endpoint
示例获取有关具有指定 thing-arn 或 certificate-arn 的 Device Advisor 设备级测试端点的信息。aws iotdeviceadvisor get-endpoint \ --thing-arn
arn:aws:iot:us-east-1:123456789012:thing/MyIotThing
输出:
{ "endpoint": "tdb7719be5t6y4c143x9sfo.deviceadvisor.iot.us-east-1.amazonaws.com" }
有关更多信息,请参阅《AWS IoT Core 开发人员指南》中的获取测试端点。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetEndpoint
。
-
以下代码示例演示了如何使用 get-suite-definition
。
- AWS CLI
-
获取有关 IoT Device Advisor 测试套件的信息
以下
get-suite-definition
示例获取有关具有指定套件定义 ID 的 Device 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": {} }
有关更多信息,请参阅《AWS IoT Core 开发人员指南》中的获取测试套件定义。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetSuiteDefinition
。
-
以下代码示例演示了如何使用 get-suite-run-report
。
- AWS CLI
-
获取有关 IoT Device Advisor 合格测试套件运行报告的信息
以下
get-suite-run-report
示例获取具有指定套件定义 ID 和套件运行 ID 的成功 Device Advisor 合格测试套件运行的报告下载链接。aws iotdeviceadvisor get-suite-run-report \ --suite-definition-id
ztvb5aek4w4x
\ --suite-run-idp6awv83nre6v
输出:
{ "qualificationReportDownloadUrl": "https://senate-apn-reports-us-east-1-prod.s3.amazonaws.com/report.downloadlink" }
有关更多信息,请参阅《AWS IoT Core 开发人员指南》中的获取成功合格测试套件运行的合格报告。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetSuiteRunReport
。
-
以下代码示例演示了如何使用 get-suite-run
。
- AWS CLI
-
获取有关 IoT Device Advisor 测试套件运行状态的信息
以下
get-suite-run
示例获取具有指定套件定义 ID 和套件运行 ID 的 Device Advisor 测试套件运行状态的信息。aws iotdeviceadvisor get-suite-run \ --suite-definition-id
qqcsmtyyjabl
\ --suite-run-idnzlfyhaa18oa
输出:
{ "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": {} }
有关更多信息,请参阅《AWS IoT Core 开发人员指南》中的获取测试套件运行。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetSuiteRun
。
-
以下代码示例演示了如何使用 list-suite-definitions
。
- AWS CLI
-
示例 1:列出您创建的 IoT Device Advisor 测试套件
以下
list-suite-definitions
示例列出您在 AWS IoT 中创建的最多 25 个 Device Advisor 测试套件。如果您有超过 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 Device Advisor 测试套件
以下
list-suite-definitions
示例列出您在 AWS IoT 中创建的具有指定 max-result 数值的 Device Advisor 测试套件。如果您有超过此最大数值的测试套件,则输出中将显示“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" }
有关更多信息,请参阅《AWS IoT API 参考》中的 ListSuiteDefinitions。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListSuiteDefinitions
。
-
以下代码示例演示了如何使用 list-suite-runs
。
- AWS CLI
-
示例 1:列出有关指定 IoT Device Advisor 测试套件运行状态的所有信息
以下
list-suite-runs
示例列出有关具有指定套件定义 ID 的 Device Advisor 测试套件运行状态的所有信息。如果您有超过 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 和指定 max-result 数值的 Device Advisor 测试套件运行状态的信息。如果您有超过此最大数值的测试套件运行,则输出中将显示“nextToken”。如果您有“nextToken”,则可以使用“nextToken”来显示在前面未显示的测试套件运行。aws iotdeviceadvisor list-suite-runs \ --suite-definition-id
qqcsmtyyjaml
\ --max-result1
\ --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" }
有关更多信息,请参阅《AWS IoT API 参考》中的 ListSuiteRuns。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListSuiteRuns
。
-
以下代码示例演示了如何使用 list-tags-for-resource
。
- AWS CLI
-
列出附加到 IoT Device Advisor 资源的标签
以下
list-tags-for-resource
示例列出附加到 Device Advisor 资源的标签。Device Advisor 资源可以是 Suitedefinition-Arn 或 Suiterun-Arn。aws iotdeviceadvisor list-tags-for-resource \ --resource-arn
arn:aws:iotdeviceadvisor:us-east-1:123456789012:suitedefinition/ba0uyjpg38ny
输出:
{ "tags": { "TestTagKey": "TestTagValue" } }
有关更多信息,请参阅《AWS IoT API 参考》中的 ListTagsForResource,或《服务授权参考》中的 AWS IoT Core Device Advisor 定义的资源类型。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListTagsForResource
。
-
以下代码示例演示了如何使用 start-suite-run
。
- AWS CLI
-
启动 IoT Device Advisor 测试套件运行
以下
start-suite-run
示例列出您的 AWS 账户中可用的微件。aws iotdeviceadvisor start-suite-run \ --suite-definition-id
qqcsmtyyjabl
\ --suite-definition-versionv1
\ --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" }
有关更多信息,请参阅《AWS IoT Core 开发人员指南》中的启动测试套件运行。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StartSuiteRun
。
-
以下代码示例演示了如何使用 stop-suite-run
。
- AWS CLI
-
停止当前正在运行的 IoT Device Advisor 测试套件
以下
stop-suite-run
示例停止当前正在运行的具有指定套件定义 ID 和套件运行 ID 的 Device Advisor 测试套件。aws iotdeviceadvisor stop-suite-run \ --suite-definition-id
qqcsmtyyjabl
\ --suite-run-idnzlfyhaa18oa
此命令不生成任何输出。
有关更多信息,请参阅《AWS IoT Core 开发人员指南》中的停止测试套件运行。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StopSuiteRun
。
-
以下代码示例演示了如何使用 tag-resource
。
- AWS CLI
-
添加和修改 IoT Device Advisor 资源的现有标签
以下
tag-resource
示例添加和修改具有指定资源 arn 和标签的 Device Advisor 资源的现有标签。Device Advisor 资源可以是 Suitedefinition-Arn 或 Suiterun-Arn。aws iotdeviceadvisor tag-resource \ --resource-arn
arn:aws:iotdeviceadvisor:us-east-1:123456789012:suitedefinition/ba0uyjpg38ny
\ --tags '{"TagKey": "TagValue"}
'此命令不生成任何输出。
有关更多信息,请参阅《AWS IoT API 参考》中的 TagResource,或《服务授权参考》中的 AWS IoT Core Device Advisor 定义的资源类型。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 TagResource
。
-
以下代码示例演示了如何使用 untag-resource
。
- AWS CLI
-
从 IoT Device Advisor 资源中移除现有标签
以下
untag-resource
示例从具有指定资源 arn 和标签键的 Device Advisor 资源中移除现有标签。Device Advisor 资源可以是 Suitedefinition-Arn 或 Suiterun-Arn。aws iotdeviceadvisor untag-resource \ --resource-arn
arn:aws:iotdeviceadvisor:us-east-1:123456789012:suitedefinition/ba0uyjpg38ny
\ --tag-keys"TagKey"
此命令不生成任何输出。
有关更多信息,请参阅《AWS IoT API 参考》中的 UntagResource,或《服务授权参考》中的 AWS IoT Core Device Advisor 定义的资源类型。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagResource
。
-
以下代码示例演示了如何使用 update-suite-definition
。
- AWS CLI
-
示例 1:更新 IoT Device Advisor 测试套件
以下
update-suite-definition
示例更新 AWS IoT 中的具有指定套件定义 ID 和套件定义配置的 Device Advisor 测试套件。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 Device Advisor 合格测试套件
以下
update-suite-definition
示例更新 AWS IoT 中的具有指定套件定义 ID 和套件定义配置的 Device Advisor 合格测试套件。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" }
有关更多信息,请参阅《AWS IoT API 参考》中的 UpdateSuiteDefinition。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateSuiteDefinition
。
-