使用 的 Device Advisor 範例 AWS CLI - AWS SDK 程式碼範例

文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的 GitHub 範例。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 的 Device Advisor 範例 AWS CLI

下列程式碼範例示範如何搭配 AWS Command Line Interface Device Advisor 使用 來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然 動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 create-suite-definition

AWS CLI

範例 1:建立 IoT Device Advisor 測試套件

下列create-suite-definition範例會使用指定的套件定義組態,在 AWS 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" }

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的建立測試套件定義

範例 2:建立 IoT Device Advisor 最新資格測試套件

下列create-suite-definition範例會建立具有指定套件定義組態的 AWS IoT 中最新版本的裝置顧問資格測試套件。

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 開發人員指南中的建立測試套件定義

下列程式碼範例示範如何使用 delete-suite-definition

AWS CLI

若要刪除 IoT Device Advisor 測試套件

下列delete-suite-definition範例會刪除具有指定套件定義 ID 的裝置顧問測試套件。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 IoT DeleteSuiteDefinition 參考中的 Word。 AWS IoT API

下列程式碼範例示範如何使用 get-endpoint

AWS CLI

範例 1:取得 IoT Device Advisor 帳戶層級端點的相關資訊

下列get-endpoint範例會取得裝置顧問帳戶層級測試端點的相關資訊。

aws iotdeviceadvisor get-endpoint

輸出:

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

範例 2:取得 IoT Device Advisor 裝置層級端點的相關資訊

下列get-endpoint範例會取得具有指定 thing-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" }

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的取得測試端點

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetEndpoint

下列程式碼範例示範如何使用 get-suite-definition

AWS CLI

取得 IoT Device Advisor 測試套件的相關資訊

下列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": {} }

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的取得測試套件定義

下列程式碼範例示範如何使用 get-suite-run-report

AWS CLI

若要取得 IoT Device Advisor 合格測試套件執行報告的相關資訊

下列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" }

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的取得成功執行的資格測試套件的資格報告

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetSuiteRunReport

下列程式碼範例示範如何使用 get-suite-run

AWS CLI

取得 IoT Device Advisor 測試套件執行狀態的相關資訊

下列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": {} }

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的取得測試套件執行

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetSuiteRun

下列程式碼範例示範如何使用 list-suite-definitions

AWS CLI

範例 1:列出您建立的 IoT Device Advisor 測試套件

下列list-suite-definitions範例列出您在 AWS IoT 中建立的最多 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 Device Advisor 測試套件

下列list-suite-definitions範例列出您在 AWS IoT 中建立的裝置顧問測試套件,其中包含指定的最大結果數。如果您有比最大數量更多的測試套件,則「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" }

如需詳細資訊,請參閱 IoT ListSuiteDefinitions 參考中的 Word。 AWS IoT API

下列程式碼範例示範如何使用 list-suite-runs

AWS CLI

範例 1:列出指定 IoT Device Advisor 測試套件執行狀態的所有資訊

下列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" }

如需詳細資訊,請參閱 IoT ListSuiteRuns 參考中的 Word。 AWS IoT API

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListSuiteRuns

下列程式碼範例示範如何使用 list-tags-for-resource

AWS CLI

列出連接至 IoT Device Advisor 資源的標籤

下列list-tags-for-resource範例列出連接至裝置顧問資源的標籤。裝置建議程式資源可以是 Suite Definition-Arn 或 Suiterun-Arn。

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

輸出:

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

如需詳細資訊,請參閱服務授權參考中的 IoT ListTagsForResource參考中的 Word 和 AWS IoT Core Device Advisor 定義的資源類型AWS IoT API

下列程式碼範例示範如何使用 start-suite-run

AWS CLI

啟動 IoT Device Advisor 測試套件執行

下列start-suite-run範例列出您 AWS 帳戶中可用的小工具。

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

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的啟動測試套件執行

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 StartSuiteRun

下列程式碼範例示範如何使用 stop-suite-run

AWS CLI

若要停止目前正在執行的 IoT Device Advisor 測試套件

下列stop-suite-run範例會停止目前使用指定套件定義 ID 和套件執行 ID 執行的裝置顧問測試套件。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的停止測試套件執行

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 StopSuiteRun

下列程式碼範例示範如何使用 tag-resource

AWS CLI

若要新增和修改 IoT Device Advisor 資源的現有標籤

下列tag-resource範例會新增和修改具有指定資源 Arn 和標籤的裝置顧問資源的現有標籤。裝置建議程式資源可以是 Suite Definition-Arn 或 Suiterun-Arn。

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

此命令不會產生輸出。

如需詳細資訊,請參閱服務授權AWS 參考中的 IoT Core Device Advisor 定義的 IoT API 參考和資源類型中的 TagResourceAWS IoT

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 TagResource

下列程式碼範例示範如何使用 untag-resource

AWS CLI

從 IoT Device Advisor 資源中移除現有標籤

下列untag-resource範例會從具有指定資源 arn 和標籤索引鍵的裝置顧問資源中移除現有標籤。裝置建議程式資源可以是 Suite Definition-Arn 或 Suiterun-Arn。

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

此命令不會產生輸出。

如需詳細資訊,請參閱服務授權參考中的 IoT UntagResource參考中的 Word 和 AWS IoT Core Device Advisor 定義的資源類型AWS IoT API

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UntagResource

下列程式碼範例示範如何使用 update-suite-definition

AWS CLI

範例 1:更新 IoT Device Advisor 測試套件

下列update-suite-definition範例會使用指定的套件定義 ID 和套件定義組態,更新 AWS IoT 中的裝置顧問測試套件。

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範例會使用指定的套件定義 ID 和套件定義組態,更新 AWS IoT 中的裝置顧問資格測試套件。

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

如需詳細資訊,請參閱 IoT UpdateSuiteDefinition 參考中的 Word。 AWS IoT API