AWS IoT 使用範例 AWS CLI - AWS Command Line Interface

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

AWS IoT 使用範例 AWS CLI

下列程式碼範例說明如何使用 AWS Command Line Interface 與來執行動作及實作常見案例 AWS IoT。

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

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

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

主題

動作

下列程式碼範例會示範如何使用accept-certificate-transfer

AWS CLI

接受從不同 AWS 帳戶傳輸的裝置憑證

下列accept-certificate-transfer範例接受從其他 AWS 帳戶傳輸的裝置憑證。憑證是由其識別碼來識別。

aws iot accept-certificate-transfer \ --certificate-id 488b6a7f2acdeb00a77384e63c4e40b18bEXAMPLEe57b7272ba44c45e3448142

此命令不會產生任何輸出。

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的將憑證轉移到其他帳戶

下列程式碼範例會示範如何使用add-thing-to-billing-group

AWS CLI

範例 1:若要依名稱新增項目至帳單群組

下列add-thing-to-billing-group範例會將名為的物件新增MyLightBulb至名為的帳單群組GroupOne

aws iot add-thing-to-billing-group \ --billing-group-name GroupOne \ --thing-name MyLightBulb

此命令不會產生輸出。

範例 2:若要依 ARN 新增項目至帳單群組

下列add-thing-to-billing-group範例會將具有指定 ARN 的物件新增至具有指定 ARN 的帳單群組。如果您使用多個 AWS 區域或帳戶,指定 ARN 會很有幫助。它可以幫助確保您添加到正確的區域和帳戶。

aws iot add-thing-to-thing-group \ --billing-group-arn "arn:aws:iot:us-west-2:123456789012:billinggroup/GroupOne" \ --thing-arn "arn:aws:iot:us-west-2:123456789012:thing/MyOtherLightBulb"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的計費群組

下列程式碼範例會示範如何使用add-thing-to-thing-group

AWS CLI

若要將物件新增至群組

下列add-thing-to-thing-group範例會將指定的物件新增至指定的物件群組。

aws iot add-thing-to-thing-group \ --thing-name MyLightBulb \ --thing-group-name LightBulbs

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

下列程式碼範例會示範如何使用associate-targets-with-job

AWS CLI

若要將物群組與連續工作相關聯

下列associate-targets-with-job範例會將指定的物群組與指定的連續工作相關聯。

aws iot associate-targets-with-job \ --targets "arn:aws:iot:us-west-2:123456789012:thinggroup/LightBulbs" \ --job-id "example-job-04"

輸出:

{ "jobArn": "arn:aws:iot:us-west-2:123456789012:job/example-job-04", "jobId": "example-job-04", "description": "example continuous job" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

下列程式碼範例會示範如何使用attach-policy

AWS CLI

範例 1:若要將原則附加至物件群組

下列attach-policy範例會將指定的原則附加至由其 ARN 識別的物件群組。

aws iot attach-policy \ --target "arn:aws:iot:us-west-2:123456789012:thinggroup/LightBulbs" \ --policy-name "UpdateDeviceCertPolicy"

此命令不會產生任何輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

範例 2:將原則附加至憑證

下列attach-policy範例會將原則附加UpdateDeviceCertPolicy至憑證所指定的主體。

aws iot attach-policy \ --policy-name UpdateDeviceCertPolicy \ --target "arn:aws:iot:us-west-2:123456789012:cert/4f0ba725787aa94d67d2fca420eca022242532e8b3c58e7465c7778b443fd65e"

此命令不會產生任何輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的將AWS IoT 原則附加至裝置憑證

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

下列程式碼範例會示範如何使用attach-security-profile

AWS CLI

將安全性設定檔與所有未註冊的裝置建立關聯

下列attach-security-profile範例會將名為的 AWS IoT Device Defender 安全性設定檔Testprofile與此 AWS 帳戶的us-west-2區域中所有未註冊的裝置建立關聯。

aws iot attach-security-profile \ --security-profile-name Testprofile \ --security-profile-target-arn "arn:aws:iot:us-west-2:123456789012:all/unregistered-things"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用attach-thing-principal

AWS CLI

若要將憑證附加至您的物件

下列attach-thing-principal範例會將憑證附加至 MyTemperatureSensor 物件。憑證由 ARN 識別。您可以在 AWS IoT 主控台中找到憑證的 ARN。

aws iot attach-thing-principal \ --thing-name MyTemperatureSensor \ --principal arn:aws:iot:us-west-2:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南的如何使用登錄來管理物件

下列程式碼範例會示範如何使用cancel-audit-mitigation-actions-task

AWS CLI

若要取消稽核緩和動作任務

下列cancel-audit-mitigations-action-task範例會取消指定工作的緩和措施動作套用。您無法取消已完成的工作。

aws iot cancel-audit-mitigation-actions-task --task-id "myActionsTaskId"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 CancelAuditMitigationActionsTask (緩解動作命令)

下列程式碼範例會示範如何使用cancel-audit-task

AWS CLI

若要取消稽核作業

下列cancel-audit-task範例會取消具有指定任務 ID 的稽核作業。您無法取消已完成的工作。

aws iot cancel-audit-task \ --task-id a3aea009955e501a31b764abe1bebd3d

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

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

下列程式碼範例會示範如何使用cancel-certificate-transfer

AWS CLI

取消將憑證轉移到其他 AWS 帳戶

下列cancel-certificate-transfer範例會取消指定憑證轉移的傳輸。憑證由憑證識別碼識別。您可以在 AWS IoT 主控台中找到憑證的 ID。

aws iot cancel-certificate-transfer \ --certificate-id f0f33678c7c9a046e5cc87b2b1a58dfa0beec26db78addd5e605d630e05c7fc8

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的將憑證轉移到其他帳戶

下列程式碼範例會示範如何使用cancel-job-execution

AWS CLI

取消設備上的工作執行

下列cancel-job-execution範例會取消裝置上指定工作的執行。如果工作不是處於此狀QUEUED態,您必須加入--force參數。

aws iot cancel-job-execution \ --job-id "example-job-03" \ --thing-name "MyRPi"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

下列程式碼範例會示範如何使用cancel-job

AWS CLI

若要取消工作

下列cancel-job範例會取消指定的工作。

aws iot cancel-job \ --job-job "example-job-03"

輸出:

{ "jobArn": "arn:aws:iot:us-west-2:123456789012:job/example-job-03", "jobId": "example-job-03", "description": "example job test" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

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

下列程式碼範例會示範如何使用clear-default-authorizer

AWS CLI

若要清除預設授權者

下列clear-default-authorizer範例會清除目前設定的預設自訂授權者。執行此命令之後,沒有預設授權者。當您使用自訂授權者時,必須在 HTTP 要求標頭中依名稱指定它。

aws iot clear-default-authorizer

此命令不會產生輸出。

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

下列程式碼範例會示範如何使用confirm-topic-rule-destination

AWS CLI

確認主題規則目的地

下列confirm-topic-rule-destination範例會使用在 HTTP 端點接收到的確認 Token 來確認主題規則目標。

aws iot confirm-topic-rule-destination \ --confirmation-token "AYADeIcmtq-ZkxfpiWIQqHWM5ucAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREFxY1E0UmlGeDg0V21BZWZ1VjZtZWFRVUJJUktUYXJaN09OZlJOczJhRENSZmZYL3JHZC9PR3NNcis5T3ZlSitnQT09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLWVhc3QtMTo5ODc5NTE4NTI0OTk6a2V5L2U4YmU3ODViLTU5NWMtNDcxYi1iOWJmLWQ2Y2I4ZjQxODlmNwC4AQIBAHhwz48UWTGWE1ua0P8U1hj27nsFzEaAdf6Hs2K_7wBheAF62zwMuk_A4dPiC6eyPGuMAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQM9vtRMpf9D3CiZ8sMAgEQgDuFd0Txy-aywpPqg8YEsa1lD4B40aJ2s1wEHKMybiF1RoOZzYisI0IvslzQY5UmCkqq3tV-3f7-nKfosgIAAAAADAAAEAAAAAAAAAAAAAAAAAAi9RMgy-V19V9m6Iw2xfbw_____wAAAAEAAAAAAAAAAAAAAAEAAAB1hw4SokgUcxiJ3gTO6n50NLJVpzyQR1UmPIj5sShqXEQGcOsWmXzpYOOx_PWyPVNsIFHApyK7Cc3g4bW8VaLVwOLkC83g6YaZAh7dFEl2-iufgrzTePl8RZYOWr0O6Aj9DiVzJZx-1iD6Pu-G6PUw1kaO7Knzs2B4AD0qfrHUF4pYRTvyUgBnMGUCMQC8ZRmhKqntd_c6Kgrow3bMUDBvNqo2qZr8Z8Jm2rzgseROlAnLgFLGpGShr99oSZkCMEd1v62NBRKX9HQXnybyF3fkg__-PIetJ803Z4IlIlF8xXlcdPGP-PV1dOXFemyL8g"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的確認主題規則目標

下列程式碼範例會示範如何使用create-audit-suppression

AWS CLI

建立稽核發現項目隱藏的步驟

下列create-audit-suppression範例會針對名為 "virtualMachinePolicy" 的策略建立稽核發現項目隱藏,而該策略已被標記為過於寬鬆。

aws iot create-audit-suppression \ --check-name IOT_POLICY_OVERLY_PERMISSIVE_CHECK \ --resource-identifier policyVersionIdentifier={"policyName"="virtualMachinePolicy","policyVersionId"="1"} \ --no-suppress-indefinitely \ --expiration-date 2020-10-20

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核尋找抑制項目。

下列程式碼範例會示範如何使用create-authorizer

AWS CLI

建立自訂授權者

下列create-authorizer範例會建立自訂授權者,該授權者使用指定的 Lambda 函數做為自訂驗證服務的一部分。

aws iot create-authorizer \ --authorizer-name "CustomAuthorizer" \ --authorizer-function-arn "arn:aws:lambda:us-west-2:123456789012:function:CustomAuthorizerFunction" \ --token-key-name "MyAuthToken" \ --status ACTIVE \ --token-signing-public-keys FIRST_KEY="-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1uJOB4lQPgG/lM6ZfIwo Z+7ENxAio9q6QD4FFqjGZsvjtYwjoe1RKK0U8Eq9xb5O3kRSmyIwTzwzm/f4Gf0Y ZUloJ+t3PUUwHrmbYTAgTrCUgRFygjfgVwGCPs5ZAX4Eyqt5cr+AIHIiUDbxSa7p zwOBKPeic0asNJpqT8PkBbRaKyleJh5oo81NDHHmVtbBm5A5YiJjqYXLaVAowKzZ +GqsNvAQ9Jy1wI2VrEa1OfL8flDB/BJLm7zjpfPOHDJQgID0XnZwAlNnZcOhCwIx 50g2LW2Oy9R/dmqtDmJiVP97Z4GykxPvwlYHrUXY0iW1R3AR/Ac1NhCTGZMwVDB1 lQIDAQAB -----END PUBLIC KEY-----"

輸出:

{ "authorizerName": "CustomAuthorizer", "authorizerArn": "arn:aws:iot:us-west-2:123456789012:authorizer/CustomAuthorizer2" }

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

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

下列程式碼範例會示範如何使用create-billing-group

AWS CLI

建立帳單群組

下列create-billing-group範例會建立名為的簡易帳單群組GroupOne

aws iot create-billing-group \ --billing-group-name GroupOne

輸出:

{ "billingGroupName": "GroupOne", "billingGroupArn": "arn:aws:iot:us-west-2:123456789012:billinggroup/GroupOne", "billingGroupId": "103de383-114b-4f51-8266-18f209ef5562" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的計費群組

下列程式碼範例會示範如何使用create-certificate-from-csr

AWS CLI

從憑證簽署要求 (CSR) 建立裝置憑證

下列create-certificate-from-csr範例會從 CSR 建立裝置憑證。您可以使用openssl指令來建立 CSR。

aws iot create-certificate-from-csr \ --certificate-signing-request=file://certificate.csr

輸出:

{ "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/c0c57bbc8baaf4631a9a0345c957657f5e710473e3ddbee1428d216d54d53ac9", "certificateId": "c0c57bbc8baaf4631a9a0345c957657f5e710473e3ddbee1428d216d54d53ac9", "certificatePem": "<certificate-text>" }

如需詳細資訊,請參閱 AWS IoT API 參考資料中的 CreateCertificateFromCSR

下列程式碼範例會示範如何使用create-custom-metric

AWS CLI

若要建立由您的裝置發佈至裝置防禦者的自訂指標

下列create-custom-metric範例會建立測量電池百分比的自訂量度。

aws iot create-custom-metric \ --metric-name "batteryPercentage" \ --metric-type "number" \ --display-name "Remaining battery percentage." \ --region us-east-1 \ --client-request-token "02ccb92b-33e8-4dfa-a0c1-35b181ed26b0"

輸出:

{ "metricName": "batteryPercentage", "metricArn": "arn:aws:iot:us-east-1:1234564789012:custommetric/batteryPercentage" }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的自訂指

下列程式碼範例會示範如何使用create-dimension

AWS CLI

建立標註的步驟

以下內容create-dimension會建立具有名為的單一主題篩選器的維度TopicFilterForAuthMessages

aws iot create-dimension \ --name TopicFilterForAuthMessages \ --type TOPIC_FILTER \ --string-values device/+/auth

輸出:

{ "name": "TopicFilterForAuthMessages", "arn": "arn:aws:iot:eu-west-2:123456789012:dimension/TopicFilterForAuthMessages" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

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

下列程式碼範例會示範如何使用create-domain-configuration

AWS CLI

若要建立網域組態

下列create-domain-configuration範例會建立服務類型為的 AWSDATA-managed 網域組態。

aws iot create-domain-configuration \ --domain-configuration-name "additionalDataDomain" \ --service-type "DATA"

輸出:

{ "domainConfigurationName": "additionalDataDomain", "domainConfigurationArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/additionalDataDomain/dikMh" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的可配置端點

下列程式碼範例會示範如何使用create-dynamic-thing-group

AWS CLI

若要建立動態物件群組

下列create-dynamic-thing-group範例會建立動態物件群組,其中包含溫度屬性大於 60 度的任何物件。您必須先啟用 AWS IoT 叢集索引,才能使用動態物件群組。

aws iot create-dynamic-thing-group \ --thing-group-name "RoomTooWarm" \ --query-string "attributes.temperature>60"

輸出:

{ "thingGroupName": "RoomTooWarm", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/RoomTooWarm", "thingGroupId": "9d52492a-fc87-43f4-b6e2-e571d2ffcad1", "indexName": "AWS_Things", "queryString": "attributes.temperature>60", "queryVersion": "2017-09-30" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的動態物件群組

下列程式碼範例會示範如何使用create-job

AWS CLI

範例 1:建立工作

下列create-job範例會建立簡單的 AWS IoT 工作,將 JSON 文件傳送至MyRaspberryPi裝置。

aws iot create-job \ --job-id "example-job-01" \ --targets "arn:aws:iot:us-west-2:123456789012:thing/MyRaspberryPi" \ --document file://example-job.json \ --description "example job test" \ --target-selection SNAPSHOT

輸出:

{ "jobArn": "arn:aws:iot:us-west-2:123456789012:job/example-job-01", "jobId": "example-job-01", "description": "example job test" }

範例 2:建立連續工作

下列create-job範例會建立在指定為目標的項目完成工作後繼續執行的工作。在此範例中,目標是物件群組,因此當新裝置新增至群組時,連續工作會在這些新項目上執行。

AWS 物聯網創建作業-工作標識「示例工作 -04」-目標「ARN:AW:物聯網:美國西部-2:123456789012:事物組/」-文檔文件://示例作業 .json-描述「示例連續作業」-目標選擇連續 DeadBulbs

輸出:

{ "jobArn": "arn:aws:iot:us-west-2:123456789012:job/example-job-04", "jobId": "example-job-04", "description": "example continuous job" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

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

下列程式碼範例會示範如何使用create-keys-and-certificate

AWS CLI

若要建立 RSA key pair 並發行 X.509 憑證

以下內容create-keys-and-certificate會建立 2048 位元 RSA key pair,並使用已核發的公開金鑰發行 X.509 憑證。因為這是 AWS IoT 唯一提供此憑證的私密金鑰時,請務必將其保存在安全的位置。

aws iot create-keys-and-certificate \ --certificate-pem-outfile "myTest.cert.pem" \ --public-key-outfile "myTest.public.key" \ --private-key-outfile "myTest.private.key"

輸出:

{ "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/9894ba17925e663f1d29c23af4582b8e3b7619c31f3fbd93adcb51ae54b83dc2", "certificateId": "9894ba17925e663f1d29c23af4582b8e3b7619c31f3fbd93adcb51ae54b83dc2", "certificatePem": " -----BEGIN CERTIFICATE----- MIICiTCCEXAMPLE6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgEXAMPLEAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSEXAMPLE2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYEXAMPLEb20wHhcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCEXAMPLEJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAEXAMPLEsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEXAMPLE25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+aEXAMPLE EXAMPLEfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZEXAMPLELG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE Ibb3OhjZnzcvQAEXAMPLEWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9+h8Mg9qEXAMPLEyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDEXAMPLEBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= -----END CERTIFICATE-----\n", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkEXAMPLEQEFAAOCAQ8AMIIBCgKCAQEAEXAMPLE1nnyJwKSMHw4h\nMMEXAMPLEuuN/dMAS3fyce8DW/4+EXAMPLEyjmoF/YVF/gHr99VEEXAMPLE5VF13\n59VK7cEXAMPLE67GK+y+jikqXOgHh/xJTwo+sGpWEXAMPLEDz18xOd2ka4tCzuWEXAMPLEahJbYkCPUBSU8opVkR7qkEXAMPLE1DR6sx2HocliOOLtu6Fkw91swQWEXAMPLE\GB3ZPrNh0PzQYvjUStZeccyNCx2EXAMPLEvp9mQOUXP6plfgxwKRX2fEXAMPLEDa\nhJLXkX3rHU2xbxJSq7D+XEXAMPLEcw+LyFhI5mgFRl88eGdsAEXAMPLElnI9EesG\nFQIDAQAB\n-----END PUBLIC KEY-----\n", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nkey omittted for security reasons\n-----END RSA PRIVATE KEY-----\n" } }

如需詳細資訊,請參閱 IoT 開發人員指南中的建立和註冊 AWS AWS IoT 裝置憑證

下列程式碼範例會示範如何使用create-mitigation-action

AWS CLI

若要建立緩和動作

下列create-mitigation-action範例會定義名為的緩和動作AddThingsToQuarantineGroup1Action,套用時會將物件移至名為的物群組QuarantineGroup1。此動作會覆寫動態物群組。

aws iot create-mitigation-action --cli-input-json file::params.json

params.json 的內容:

{ "actionName": "AddThingsToQuarantineGroup1Action", "actionParams": { "addThingsToThingGroupParams": { "thingGroupNames": [ "QuarantineGroup1" ], "overrideDynamicGroups": true } }, "roleArn": "arn:aws:iam::123456789012:role/service-role/MoveThingsToQuarantineGroupRole" }

輸出:

{ "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/AddThingsToQuarantineGroup1Action", "actionId": "992e9a63-a899-439a-aa50-4e20c52367e1" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 CreateMitigationAction (緩解動作命令)

下列程式碼範例會示範如何使用create-ota-update

AWS CLI

若要建立 OTA 更新以與 Amazon FreeRTOS 搭配使用

下列create-ota-update範例會在物件或群組的目標群組上建立 AWS IoT OtaUpdate。這是 Amazon FreeRTOS over-the-air 更新的一部分,可讓您將新韌體映像部署到單一裝置或一組裝置。

aws iot create-ota-update \ --cli-input-json file://create-ota-update.json

create-ota-update.json 的內容:

{ "otaUpdateId": "ota12345", "description": "A critical update needed right away.", "targets": [ "device1", "device2", "device3", "device4" ], "targetSelection": "SNAPSHOT", "awsJobExecutionsRolloutConfig": { "maximumPerMinute": 10 }, "files": [ { "fileName": "firmware.bin", "fileLocation": { "stream": { "streamId": "004", "fileId":123 } }, "codeSigning": { "awsSignerJobId": "48c67f3c-63bb-4f92-a98a-4ee0fbc2bef6" } } ] "roleArn": "arn:aws:iam:123456789012:role/service-role/my_ota_role" }

輸出:

{ "otaUpdateId": "ota12345", "awsIotJobId": "job54321", "otaUpdateArn": "arn:aws:iot:us-west-2:123456789012:otaupdate/itsaupdate", "awsIotJobArn": "arn:aws:iot:us-west-2:123456789012:job/itsajob", "otaUpdateStatus": "CREATE_IN_PROGRESS" }

如需詳細資訊,請參閱 AWS IoT API 參考資料中的 CreateOTAUpdate

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

下列程式碼範例會示範如何使用create-policy-version

AWS CLI

使用新版本更新策略

下列create-policy-version範例會更新原則定義,並建立新的原則版本。此範例也會將新版本設為預設版本。

aws iot create-policy-version \ --policy-name UpdateDeviceCertPolicy \ --policy-document file://policy.json \ --set-as-default

policy.json 的內容:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:UpdateCertificate", "Resource": "*" } ] }

輸出:

{ "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/UpdateDeviceCertPolicy", "policyDocument": "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Action\": \"iot:UpdateCertificate\", \"Resource\": \"*\" } ] }", "policyVersionId": "2", "isDefaultVersion": true }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的AWS IoT 政策

下列程式碼範例會示範如何使用create-policy

AWS CLI

若要建立 AWS IoT 原則

下列create-policy範例會建立名為的 AWS IoT 原則 TemperatureSensorPolicy。此policy.json檔案包含允許 AWS IoT 原則動作的陳述式。

aws iot create-policy \ --policy-name TemperatureSensorPolicy \ --policy-document file://policy.json

policy.json 的內容:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Receive" ], "Resource": [ "arn:aws:iot:us-west-2:123456789012:topic/topic_1", "arn:aws:iot:us-west-2:123456789012:topic/topic_2" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-west-2:123456789012:topicfilter/topic_1", "arn:aws:iot:us-west-2:123456789012:topicfilter/topic_2" ] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-west-2:123456789012:client/basicPubSub" ] } ] }

輸出:

{ "policyName": "TemperatureSensorPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/TemperatureSensorPolicy", "policyDocument": "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Action\": [ \"iot:Publish\", \"iot:Receive\" ], \"Resource\": [ \"arn:aws:iot:us-west-2:123456789012:topic/topic_1\", \"arn:aws:iot:us-west-2:123456789012:topic/topic_2\" ] }, { \"Effect\": \"Allow\", \"Action\": [ \"iot:Subscribe\" ], \"Resource\": [ \"arn:aws:iot:us-west-2:123456789012:topicfilter/topic_1\", \"arn:aws:iot:us-west-2:123456789012:topicfilter/topic_2\" ] }, { \"Effect\": \"Allow\", \"Action\": [ \"iot:Connect\" ], \"Resource\": [ \"arn:aws:iot:us-west-2:123456789012:client/basicPubSub\" ] } ] }", "policyVersionId": "1" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的AWS IoT 政策

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

下列程式碼範例會示範如何使用create-provisioning-claim

AWS CLI

若要建立佈建宣告

下列create-provisioning-claim範例會從佈建範本建立佈建宣告。

aws iot create-provisioning-claim \ --template-name MyTestProvisioningTemplate

輸出:

{ "certificateId": "78de02184b2ce80cf8fb709bda59e62b19fb83513590483eb0434589476ab09f", "certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDdzCCAl+gAwIBAgIUXSZhEBLztMLZ2fHG 14gV0NymYY0wDQYJKoZIhvcNAQEL\nBQAwfjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xEDAOBg VBAcM\nB1NlYXR0bGUxGDAWBgNVBAoMD0FtYXpvbi5jb20gSW5jLjEgMB4GA1UECwwXQW1h\nem9uIElvVCBQcm9 2aXNpb25pbmcxDDAKBgNVBAUTAzEuMDAeFw0yMDA3MjgxNjQ0\nMDZaFw0yMDA3MjgxNjUxMDZaMEsxSTBHBgNVB AMMQDFhNDEyM2VkNmIxYjU3MzE3\nZTgzMTJmY2MzN2FiNTdhY2MzYTZkZGVjOGQ5OGY3NzUwMWRlMjc0YjhmYTQ xN2Iw\nggEiMA0GCSqGSIb3EXAMPLEAA4IBDwAwggEKAoIBAQDBhKI94ktKLqTwnj+ayOq1\nTAJt/N6s6IJDZvl rYjkC0E7wzaeY3TprWk03S29vUzVuEOXHXQXZbihgpg2m6fza\nkWm9/wpjzE9ny5+xkPGVH4Wnwz7yK5m8S0agL T96cRBSWnWmonOWdY0GKVzni0CA\n+iyGudgrFKm7Eae/v18oXrf82KtOAGO4xG0KE2WKYHsT1fx3c9xZhlXP/eX Lhv00\n+lGp0WVw9PbhKfrxliKJ5q6sL5nVUaUHq6hlQPYwsATeOvAp3u0ak5zgTyL0fg7Y\nPyKk6VYwLW62r+V YBSForEMOAhkq3LsP/rjxpEKmi2W4lPVS6oFZRKcD+H1Kyil5\nAgMBAAGjIDAeMAwGA1UdEwEB/wQCMAAwDgYDV R0PAQH/BAQDAgeAMA0GCSqGSIb3\nDQEBCwUAA4IBAQAGgix2k6nVqbZFKq97/fZBzLGS0dyz5rT/E41cDIRX+1j EPW41\nw0D+2sXheCZLZZnSkvIiP74IToNeXDrjdcaodeGFVHIElRjhMIq+4ZebPbRLtidF\nRc2hfcTAlqq9Z6v 5Vk6BeM1tu0RqH1wPoVUccLPya8EjNCbnJZUmGdOfrN/Y9pho\n5ikV+HPeZhG/k6dhE2GsQJyKFVHL/uBgKSily 1bRyWU1r6qcpWBNBHjUoD7HgOwD\nnzMh4XRb2FQDsqFalkCSYmeL8IVC49sgPD9Otyp5uteGMTy62usAAUQdq/f ZvrWg\nOkFpwMVnGKVKT7Kg0kKOLzKWOBB2Jm4/gmrJ\n-----END CERTIFICATE-----\n", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCg KCAQEAwYSiPeJLSi6k8J4/msjq\ntUwCbfzerOiCQ2b5a2I5AtBO8M2nmN06a1pNN0tvb1M1bhDlx10F2W4oYKYN pun8\n2pFpvf8KY8xPZ8ufsZDxlR+Fp8M+8iuZvEtGoC0/enEQUlp1pqJzlnWNBilc54tA\ngPoshrnYKxSpuxGn v79fKF63/NirTgBjuMRtChNlimEXAMPLE3PcWYZVz/3ly4b9\nNPpRqdFlcPT24Sn68ZYiieaurC+Z1VGlB6uoZU D2MLAE3jrwKd7tGpOc4E8i9H4O\n2D8ipOlWMC1utq/lWAUhaKxDDgIZKty7D/648aRCpotluJT1UuqBWUSnA/h9 Ssop\neQIDAQAB\n-----END PUBLIC KEY-----\n", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwYSiPeJLSi6k8J4/ msjqtUwCbfzerOiCQ2b5a2I5AtBO8M2n\nmN06a1pNN0tvb1M1bhDlx10F2W4oYKYNpun82pFpvf8KY8xPZ8ufsZ DxlR+Fp8M+\n8iuZvEtGoC0/enEQUlp1pqJzlnWNBilc54tAgPoshrnYKxSpuxGnv79fKF63/Nir\nTgBjuMRtCh NlimB7E9X8d3PcWYZVz/3ly4b9NPpRqdFlcPT24Sn68ZYiieaurC+Z\n1VGlB6uoZUD2MLAE3jrwKd7tGpOc4E8i 9H4O2D8ipOlWMC1utq/lWAUhaKxDDgIZ\nKty7D/648aRCpotluJT1UuqBWUSnA/h9SsopeQIDAQABAoIBAEAybN QUtx9T2/nK\ntZT2pA4iugecxI4dz+DmT0XVXs5VJmrx/nBSq6ejXExEpSIMO4RY7LE3ZdJcnd56\nF7tQkkY7yR VzfxHeXFU1krOIPuxWebNOrRoPZr+1RSer+wv2aBC525+88pVuR6tM\nm3pgkrR2ycCj9FdOUoQxdjHBHaM5PDmJ 9aSxCKdg3nReepeGwsR2TQA+m2vVxWk7\nou0+91eTOP+/QfP7P8ZjOIkO2XivlRcVDyN/E4QXPKuIkM/8vS8VK+ E9pATQ0MtB\n2lw8R/YU5AJd6jlEXAMPLEGU2UzRzInNWiLtkPPPqgqXXhxOf+mxByjcMalVJk0L\nhOG2ROUCgY EA+ROcHNHy/XbsP7FihOhEh+6Q2QxQ2ncBUPYbBazrR8Hn+7SCICQK\nVyYfd8Ajfq3e7RsKVL5SlMBp7Slidxak bIn28fKfPn62DaemGCIoyDgLpF+eUxBx\ngzbCiBZga8brfurza43UZjKZLpg3hq721+FeAiXi1Nma4Yr9YWEHEN 8CgYEAxuWt\npzdWWmsiFzfsAw0sy9ySDA/xr5WRWzJyAqUsjsks6rxNzWebpufnYHcmtW7pLdqM\nkboHwN2pXa kmZvrk2nKkEMq5brBYGDXuxDe+V369Bianx8aZFyIsckA7OwXW1w1h\ngRC5rQ4XOgp3+Jmw7eAO8LRYDjaN846+ QbtO2KcCgYAWS0UL51bijQR0ZwI0dz27\nFQVuCAYsp748aurcRTACCj8jbnK/QbqTNlxWsaH7ssBjZKo2D5sAqY BRtASWODab\naHXsDhVm2Jye+ESLoHMaCLoyCkT3ll8yqXIcEDStMO7fO1Ryag164EiJvSIrMfny\nNL/fXVjCSH /udCxdzPt+7QKBgQC+LAD7rxdr4J9538hTqpc4XK9vxRbrMXEH55XH\nHbMa2xONZXpmeTgEQBukyohCVceyRhK9 i0e6irZTjVXghOeoTpC8VXkzcnzouTiQ\neFQQSGfnp7Ioe6UIz23715pKduzSNkMSKrG924ktv7CyDBF1gBQI5g aDoHnddJBJ\nPRTIZQKBgA8MASXtTxQntRwXXzR92U0vAighiuRkB/mx9jQpUcK1qiqHbkAMqgNF\nPFCBYIUbFT iYKKKeJNbyJQvjfsJCkAnaFJ+RnTxk0Q6Wjm20peJ/ii4QiDdnigoE\nvdlc5cFQewWb4/zqAtPdinkPlN94ileI 79XQdc7RlJ0jpgTimL+V\n-----END RSA PRIVATE KEY-----\n" }, "expiration": 1595955066.0 }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的受信任使用者佈建

下列程式碼範例會示範如何使用create-provisioning-template-version

AWS CLI

若要建立佈建範本版本

下列範例會為指定的佈建範本建立版本。新版本的主體會在檔案中提供template.json

aws iot create-provisioning-template-version \ --template-name widget-template \ --template-body file://template.json

template.json 的內容:

{ "Parameters" : { "DeviceLocation": { "Type": "String" } }, "Mappings": { "LocationTable": { "Seattle": { "LocationUrl": "https://example.aws" } } }, "Resources" : { "thing" : { "Type" : "AWS::IoT::Thing", "Properties" : { "AttributePayload" : { "version" : "v1", "serialNumber" : "serialNumber" }, "ThingName" : {"Fn::Join":["",["ThingPrefix_",{"Ref":"SerialNumber"}]]}, "ThingTypeName" : {"Fn::Join":["",["ThingTypePrefix_",{"Ref":"SerialNumber"}]]}, "ThingGroups" : ["widgets", "WA"], "BillingGroup": "BillingGroup" }, "OverrideSettings" : { "AttributePayload" : "MERGE", "ThingTypeName" : "REPLACE", "ThingGroups" : "DO_NOTHING" } }, "certificate" : { "Type" : "AWS::IoT::Certificate", "Properties" : { "CertificateId": {"Ref": "AWS::IoT::Certificate::Id"}, "Status" : "Active" } }, "policy" : { "Type" : "AWS::IoT::Policy", "Properties" : { "PolicyDocument" : { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action":["iot:Publish"], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/foo/bar"] }] } } } }, "DeviceConfiguration": { "FallbackUrl": "https://www.example.com/test-site", "LocationUrl": { "Fn::FindInMap": ["LocationTable",{"Ref": "DeviceLocation"}, "LocationUrl"]} } } }

輸出:

{ "templateArn": "arn:aws:iot:us-east-1:123456789012:provisioningtemplate/widget-template", "templateName": "widget-template", "versionId": 2, "isDefaultVersion": false }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的AWS IoT 安全通道

下列程式碼範例會示範如何使用create-provisioning-template

AWS CLI

若要建立啟動設定範本

下列create-provisioning-template範例會根據檔案所定義建立佈建範本template.json

aws iot create-provisioning-template \ --template-name widget-template \ --description "A provisioning template for widgets" \ --provisioning-role-arn arn:aws:iam::123456789012:role/Provision_role \ --template-body file://template.json

template.json 的內容:

{ "Parameters" : { "DeviceLocation": { "Type": "String" } }, "Mappings": { "LocationTable": { "Seattle": { "LocationUrl": "https://example.aws" } } }, "Resources" : { "thing" : { "Type" : "AWS::IoT::Thing", "Properties" : { "AttributePayload" : { "version" : "v1", "serialNumber" : "serialNumber" }, "ThingName" : {"Fn::Join":["",["ThingPrefix_",{"Ref":"SerialNumber"}]]}, "ThingTypeName" : {"Fn::Join":["",["ThingTypePrefix_",{"Ref":"SerialNumber"}]]}, "ThingGroups" : ["widgets", "WA"], "BillingGroup": "BillingGroup" }, "OverrideSettings" : { "AttributePayload" : "MERGE", "ThingTypeName" : "REPLACE", "ThingGroups" : "DO_NOTHING" } }, "certificate" : { "Type" : "AWS::IoT::Certificate", "Properties" : { "CertificateId": {"Ref": "AWS::IoT::Certificate::Id"}, "Status" : "Active" } }, "policy" : { "Type" : "AWS::IoT::Policy", "Properties" : { "PolicyDocument" : { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action":["iot:Publish"], "Resource": ["arn:aws:iot:us-east-1:504350838278:topic/foo/bar"] }] } } } }, "DeviceConfiguration": { "FallbackUrl": "https://www.example.com/test-site", "LocationUrl": { "Fn::FindInMap": ["LocationTable",{"Ref": "DeviceLocation"}, "LocationUrl"]} } } }

輸出:

{ "templateArn": "arn:aws:iot:us-east-1:123456789012:provisioningtemplate/widget-template", "templateName": "widget-template", "defaultVersionId": 1 }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的AWS IoT 安全通道

下列程式碼範例會示範如何使用create-role-alias

AWS CLI

若要建立角色別名

下列create-role-alias範例會建立針對指定角色呼叫LightBulbRole的角色別名。

aws iot create-role-alias \ --role-alias LightBulbRole \ --role-arn arn:aws:iam::123456789012:role/lightbulbrole-001

輸出:

{ "roleAlias": "LightBulbRole", "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/LightBulbRole" }

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

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

下列程式碼範例會示範如何使用create-scheduled-audit

AWS CLI

若要建立排程稽核

下列create-scheduled-audit範例會建立每週星期三執行的排程稽核,以檢查 CA 憑證或裝置憑證是否即將到期。

aws iot create-scheduled-audit \ --scheduled-audit-name WednesdayCertCheck \ --frequency WEEKLY \ --day-of-week WED \ --target-check-names CA_CERTIFICATE_EXPIRING_CHECK DEVICE_CERTIFICATE_EXPIRING_CHECK

輸出:

{ "scheduledAuditArn": "arn:aws:iot:us-west-2:123456789012:scheduledaudit/WednesdayCertCheck" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

下列程式碼範例會示範如何使用create-security-profile

AWS CLI

建立安全性設定檔

下列create-security-profile範例會建立安全性設定檔,以檢查行動數據頻寬是否超過閾值,或在五分鐘內是否發生超過 10 次授權失敗。

aws iot create-security-profile \ --security-profile-name PossibleIssue \ --security-profile-description "Check to see if authorization fails 10 times in 5 minutes or if cellular bandwidth exceeds 128" \ --behaviors "[{\"name\":\"CellularBandwidth\",\"metric\":\"aws:message-byte-size\",\"criteria\":{\"comparisonOperator\":\"greater-than\",\"value\":{\"count\":128},\"consecutiveDatapointsToAlarm\":1,\"consecutiveDatapointsToClear\":1}},{\"name\":\"Authorization\",\"metric\":\"aws:num-authorization-failures\",\"criteria\":{\"comparisonOperator\":\"less-than\",\"value\":{\"count\":10},\"durationSeconds\":300,\"consecutiveDatapointsToAlarm\":1,\"consecutiveDatapointsToClear\":1}}]"

輸出:

{ "securityProfileName": "PossibleIssue", "securityProfileArn": "arn:aws:iot:us-west-2:123456789012:securityprofile/PossibleIssue" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用create-stream

AWS CLI

若要透過 MQTT 建立串流,以區塊形式傳送一或多個大型檔案

下列create-stream範例會建立串流,以透過 MQTT 傳送一或多個區塊中的大型檔案。串流自 S3 等來源傳輸的資料位元組區塊,會封包為 MQTT 訊息。一個串流可與一個或多個檔案建立關聯。

aws iot create-stream \ --cli-input-json file://create-stream.json

create-stream.json 的內容:

{ "streamId": "stream12345", "description": "This stream is used for Amazon FreeRTOS OTA Update 12345.", "files": [ { "fileId": 123, "s3Location": { "bucket":"codesign-ota-bucket", "key":"48c67f3c-63bb-4f92-a98a-4ee0fbc2bef6" } } ], "roleArn": "arn:aws:iam:123456789012:role/service-role/my_ota_stream_role" }

輸出:

{ "streamId": "stream12345", "streamArn": "arn:aws:iot:us-west-2:123456789012:stream/stream12345", "description": "This stream is used for Amazon FreeRTOS OTA Update 12345.", "streamVersion": "1" }

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

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

下列程式碼範例會示範如何使用create-thing-group

AWS CLI

範例 1:建立物件群組

下列create-thing-group範例會建立以描述LightBulbs與兩個屬性命名的物件群組。

aws iot create-thing-group \ --thing-group-name LightBulbs \ --thing-group-properties "thingGroupDescription=\"Generic bulb group\", attributePayload={attributes={Manufacturer=AnyCompany,wattage=60}}"

輸出:

{ "thingGroupName": "LightBulbs", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/LightBulbs", "thingGroupId": "9198bf9f-1e76-4a88-8e8c-e7140142c331" }

範例 2:建立屬於父群組一部份的物件群組

下列項目create-thing-group會建立名為的物件群組HalogenBulbs,其具有名為的父項物件群組LightBulbs

aws iot create-thing-group \ --thing-group-name HalogenBulbs \ --parent-group-name LightBulbs

輸出:

{ "thingGroupName": "HalogenBulbs", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/HalogenBulbs", "thingGroupId": "f4ec6b84-b42b-499d-9ce1-4dbd4d4f6f6e" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

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

下列程式碼範例會示範如何使用create-thing-type

AWS CLI

定義物件類型

下列create-thing-type範例會定義物件類型與關聯屬性。

aws iot create-thing-type \ --thing-type-name "LightBulb" \ --thing-type-properties "thingTypeDescription=light bulb type, searchableAttributes=wattage,model"

輸出:

{ "thingTypeName": "LightBulb", "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb", "thingTypeId": "ce3573b0-0a3c-45a7-ac93-4e0ce14cd190" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物類型

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

下列程式碼範例會示範如何使用create-thing

AWS CLI

範例 1:若要在登錄中建立物件記錄

下列create-thing範例會在 AWS IoT 物件登錄中為裝置建立項目。

aws iot create-thing \ --thing-name SampleIoTThing

輸出:

{ "thingName": "SampleIoTThing", "thingArn": "arn:aws:iot:us-west-2: 123456789012:thing/SampleIoTThing", "thingId": " EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE " }

範例 2:若要定義與物件類型相關聯的物件

下列create-thing範例會建立具有指定物件類型及其屬性的物件。

aws iot create-thing \ --thing-name "MyLightBulb" \ --thing-type-name "LightBulb" \ --attribute-payload "{"attributes": {"wattage":"75", "model":"123"}}"

輸出:

{ "thingName": "MyLightBulb", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyLightBulb", "thingId": "40da2e73-c6af-406e-b415-15acae538797" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的如何使用登錄和物件類型管理物件。

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

下列程式碼範例會示範如何使用create-topic-rule-destination

AWS CLI

若要建立主題規則目的地

下列create-topic-rule-destination範例會為 HTTP 端點建立主題規則目標。

aws iot create-topic-rule-destination \ --destination-configuration httpUrlConfiguration={confirmationUrl=https://example.com}

輸出:

{ "topicRuleDestination": { "arn": "arn:aws:iot:us-west-2:123456789012:ruledestination/http/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "status": "IN_PROGRESS", "statusReason": "Awaiting confirmation. Confirmation message sent on 2020-07-09T22:47:54.154Z; no response received from the endpoint.", "httpUrlProperties": { "confirmationUrl": "https://example.com" } } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立主題規則目標

下列程式碼範例會示範如何使用create-topic-rule

AWS CLI

若要建立傳送 Amazon SNS 警示的規則

下列create-topic-rule範例會建立一個規則,當土壤濕度讀數 (如裝置陰影中所找到) 低時,傳送 Amazon SNS 訊息。

aws iot create-topic-rule \ --rule-name "LowMoistureRule" \ --topic-rule-payload file://plant-rule.json

此範例需要將下列 JSON 程式碼儲存到名為的檔案中plant-rule.json

{ "sql": "SELECT * FROM '$aws/things/MyRPi/shadow/update/accepted' WHERE state.reported.moisture = 'low'\n", "description": "Sends an alert whenever soil moisture level readings are too low.", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [{ "sns": { "targetArn": "arn:aws:sns:us-west-2:123456789012:MyRPiLowMoistureTopic", "roleArn": "arn:aws:iam::123456789012:role/service-role/MyRPiLowMoistureTopicRole", "messageFormat": "RAW" } }] }

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立AWS IoT 規則

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

下列程式碼範例會示範如何使用delete-account-audit-configuration

AWS CLI

停用 AWS 帳戶的所有稽核檢查

下列delete-account-audit-configuration範例會還原此帳戶之 AWS IoT Device Defender 的預設設定,停用所有稽核檢查並清除組態資料。它也會刪除此帳號的任何排程稽核。請謹慎使用此指令。

aws iot delete-account-audit-configuration \ --delete-scheduled-audits

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

下列程式碼範例會示範如何使用delete-audit-suppression

AWS CLI

刪除稽核發現項目隱藏的步驟

下列delete-audit-suppression範例會刪除稽核發現項目隱藏的「裝置 _ 憑證 _ 檢查」。

aws iot delete-audit-suppression \ --check-name DEVICE_CERTIFICATE_EXPIRING_CHECK \ --resource-identifier deviceCertificateId="c7691e<shortened>"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核尋找抑制項目。

下列程式碼範例會示範如何使用delete-authorizer

AWS CLI

若要刪除自訂授權者

下列delete-authorizer範例會刪除名為CustomAuthorizer的授權者。自訂授權者必須處於該INACTIVE狀態,才能將其刪除。

aws iot delete-authorizer \ --authorizer-name CustomAuthorizer

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南DeleteAuthorizer中的。

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

下列程式碼範例會示範如何使用delete-billing-group

AWS CLI

刪除帳單群組

下列delete-billing-group範例會刪除指定的帳單群組。您可以刪除帳單群組,即使帳單群組包含一或多個項目。

aws iot delete-billing-group \ --billing-group-name BillingGroupTwo

此命令不會產生任何輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的計費群組

下列程式碼範例會示範如何使用delete-ca-certificate

AWS CLI

若要刪除 CA 憑證

下列delete-ca-certificate範例會刪除具有指定憑證 ID 的 CA 憑證。

aws iot delete-ca-certificate \ --certificate-id f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467

此命令不會產生輸出。

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

下列程式碼範例會示範如何使用delete-certificate

AWS CLI

刪除裝置憑證

下列delete-certificate範例會刪除具有指定 ID 的裝置憑證。

aws iot delete-certificate \ --certificate-id c0c57bbc8baaf4631a9a0345c957657f5e710473e3ddbee1428d216d54d53ac9

此命令不會產生輸出。

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

下列程式碼範例會示範如何使用delete-custom-metric

AWS CLI

若要刪除自訂量度

下列delete-custom-metric範例會刪除自訂量度。

aws iot delete-custom-metric \ --metric-name batteryPercentage \ --region us-east-1

輸出:

HTTP 200

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的自訂指

下列程式碼範例會示範如何使用delete-dimension

AWS CLI

刪除標註的步驟

下列delete-dimension範例會刪除名為的維度TopicFilterForAuthMessages

aws iot delete-dimension \ --name TopicFilterForAuthMessages

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

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

下列程式碼範例會示範如何使用delete-domain-configuration

AWS CLI

若要刪除網域組態

下列delete-domain-configuration範例會刪除 AWS 帳戶additionalDataDomain中名為的網域組態。

aws iot delete-domain-configuration \ --domain-configuration-name "additionalDataDomain" \ --domain-configuration-status "OK"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的可配置端點

下列程式碼範例會示範如何使用delete-dynamic-thing-group

AWS CLI

若要刪除動態物件群組

下列delete-dynamic-thing-group範例會刪除指定的動態物件群組。

aws iot delete-dynamic-thing-group \ --thing-group-name "RoomTooWarm"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的動態物件群組

下列程式碼範例會示範如何使用delete-job-execution

AWS CLI

若要刪除工作執行項目

下列delete-job-execution範例會刪除裝置上指定工作的作業執行。用describe-job-execution於獲取執行號。

aws iot delete-job-execution --job-id "example-job-02" --thing-name "MyRaspberryPi" --execution-number 1

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

下列程式碼範例會示範如何使用delete-job

AWS CLI

若要刪除工作

下列delete-job範例會刪除指定的工作。透過指定--force選項,即使狀態為,工作也會被刪除IN_PROGRESS

aws iot delete-job \ --job-id "example-job-04" \ --force

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

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

下列程式碼範例會示範如何使用delete-mitigation-action

AWS CLI

若要刪除緩和動作

下列delete-mitigation-action範例會刪除指定的緩和措施動作。

aws iot delete-mitigation-action \ --action-name AddThingsToQuarantineGroup1Action

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 DeleteMitigationAction (緩解動作命令)

下列程式碼範例會示範如何使用delete-ota-update

AWS CLI

若要刪除 OTA 更新

下列delete-ota-update範例會刪除指定的 OTA 更新。

aws iot delete-ota-update \ --ota-update-id ota12345 \ --delete-stream \ --force-delete-aws-job

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT API 參考資料中的 DeleteOTAUpdate

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

下列程式碼範例會示範如何使用delete-policy-version

AWS CLI

若要刪除原則的版本

下列delete-policy-version範例會從您的 AWS 帳戶中刪除指定策略的第 2 版。

aws iot delete-policy-version \ --policy-name UpdateDeviceCertPolicy \ --policy-version-id 2

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的AWS IoT 政策

下列程式碼範例會示範如何使用delete-policy

AWS CLI

若要刪除策略

下列delete-policy範例會從您的 AWS 帳戶中刪除指定的策略。

aws iot delete-policy --policy-name UpdateDeviceCertPolicy

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的AWS IoT 政策

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

下列程式碼範例會示範如何使用delete-provisioning-template-version

AWS CLI

若要刪除啟動設定範本版本

下列delete-provisioning-template-version範例會刪除指定佈建範本的第 2 版。

aws iot delete-provisioning-template-version \ --version-id 2 \ --template-name "widget-template"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的AWS IoT 安全通道

下列程式碼範例會示範如何使用delete-provisioning-template

AWS CLI

若要刪除啟動設定範本

下列delete-provisioning-template範例會刪除指定的佈建範本。

aws iot delete-provisioning-template \ --template-name widget-template

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的AWS IoT 安全通道

下列程式碼範例會示範如何使用delete-registration-code

AWS CLI

要刪除您的註冊代碼

下列delete-registration-code範例會刪除 AWS IoT 帳戶特定的註冊碼。

aws iot delete-registration-code

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南的使用您自己的憑證

下列程式碼範例會示範如何使用delete-role-alias

AWS CLI

若要刪除 AWS IoT 角色別名

下列delete-role-alias範例會刪除名為的 AWS IoT 角色別名LightBulbRole

aws iot delete-role-alias \ --role-alias LightBulbRole

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的授權直接呼叫 AWS 服務

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

下列程式碼範例會示範如何使用delete-scheduled-audit

AWS CLI

若要刪除已排程的稽核

下列delete-scheduled-audit範例會刪除名為的 AWS IoT Device Defender 排程稽核AWSIoTDeviceDefenderDailyAudit

aws iot delete-scheduled-audit \ --scheduled-audit-name AWSIoTDeviceDefenderDailyAudit

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

下列程式碼範例會示範如何使用delete-security-profile

AWS CLI

若要刪除安全性設定檔

下列delete-security-profile範例會刪除名為的安全性設定檔PossibleIssue

aws iot delete-security-profile \ --security-profile-name PossibleIssue

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用delete-stream

AWS CLI

若要刪除串流

下列delete-stream範例會刪除指定的資料流。

aws iot delete-stream \ --stream-id stream12345

此命令不會產生輸出。

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

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

下列程式碼範例會示範如何使用delete-thing-group

AWS CLI

若要刪除物件群組

下列delete-thing-group範例會刪除指定的物群組。如果物件群組包含子項物件群組,則您無法刪除該物件群組。

aws iot delete-thing-group \ --thing-group-name DefectiveBulbs

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

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

下列程式碼範例會示範如何使用delete-thing-type

AWS CLI

範例 1:若要刪除物件類型

下列delete-thing-type範例會刪除已取代的物件類型。

aws iot delete-thing-type \ --thing-type-name "obsoleteThingType"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物類型

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

下列程式碼範例會示範如何使用delete-thing

AWS CLI

若要顯示物件的詳細資訊

下列delete-thing範例會從您 AWS 帳戶的 AWS IoT 登錄中刪除物件。

aws iot 刪除的東西-事物名稱 "」FourthBulb

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南的如何使用登錄來管理物件

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

下列程式碼範例會示範如何使用delete-topic-rule-destination

AWS CLI

若要刪除主題規則目的地

下列delete-topic-rule-destination範例會刪除指定的主題規則目的地。

aws iot delete-topic-rule-destination \ --arn "arn:aws:iot:us-west-2:123456789012:ruledestination/http/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的刪除主題規則目標

下列程式碼範例會示範如何使用delete-topic-rule

AWS CLI

刪除規則

下列delete-topic-rule範例會刪除指定的規則。

aws iot delete-topic-rule \ --rule-name "LowMoistureRule"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的刪除規則

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

下列程式碼範例會示範如何使用delete-v2-logging-level

AWS CLI

若要刪除物件群組的記錄層級

下列delete-v2-logging-level範例會刪除指定物件群組的記錄層級。

aws iot delete-v2-logging-level \ --target-type THING_GROUP \ --target-name LightBulbs

此命令不會產生輸出。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考LoggingLevel中的刪除 V2

下列程式碼範例會示範如何使用deprecate-thing-type

AWS CLI

範例 1:淘汰物件類型

下列deprecate-thing-type範例會淘汰物件類型,讓使用者無法將任何新物件與其產生關聯。

aws iot deprecate-thing-type \ --thing-type-name "obsoleteThingType"

此命令不會產生輸出。

範例 2:若要反轉物件類型的棄用

下列deprecate-thing-type範例會反轉物件類型的淘汰,讓使用者可以再次將新物件與新物件產生關聯。

aws iot deprecate-thing-type \ --thing-type-name "obsoleteThingType" \ --undo-deprecate

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物類型

下列程式碼範例會示範如何使用describe-account-audit-configuration

AWS CLI

若要檢視目前的稽核配置設定

下列describe-account-audit-configuration範例會列出 AWS IoT Device Defender 稽核組態的目前設定。

aws iot describe-account-audit-configuration

輸出:

{ "roleArn": "arn:aws:iam::123456789012:role/service-role/AWSIoTDeviceDefenderAudit_1551201085996", "auditNotificationTargetConfigurations": { "SNS": { "targetArn": "arn:aws:sns:us-west-2:123456789012:ddaudits", "roleArn": "arn:aws:iam::123456789012:role/service-role/AWSIoTDeviceDefenderAudit", "enabled": true } }, "auditCheckConfigurations": { "AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK": { "enabled": true }, "CA_CERTIFICATE_EXPIRING_CHECK": { "enabled": true }, "CONFLICTING_CLIENT_IDS_CHECK": { "enabled": true }, "DEVICE_CERTIFICATE_EXPIRING_CHECK": { "enabled": true }, "DEVICE_CERTIFICATE_SHARED_CHECK": { "enabled": true }, "IOT_POLICY_OVERLY_PERMISSIVE_CHECK": { "enabled": true }, "LOGGING_DISABLED_CHECK": { "enabled": true }, "REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK": { "enabled": true }, "REVOKED_DEVICE_CERTIFICATE_STILL_ACTIVE_CHECK": { "enabled": true }, "UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK": { "enabled": true } } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

下列程式碼範例會示範如何使用describe-audit-finding

AWS CLI

若要列出稽核發現項目的詳細資訊

下列describe-audit-finding範例會列出指定 AWS IoT Device Defender 稽核發現項目的詳細資料。稽核可以產生多個發現項目。使用list-audit-findings命令從稽核取得發現項目清單,以取得findingId

aws iot describe-audit-finding \ --finding-id "ef4826b8-e55a-44b9-b460-5c485355371b"

輸出:

{ "finding": { "findingId": "ef4826b8-e55a-44b9-b460-5c485355371b", "taskId": "873ed69c74a9ec8fa9b8e88e9abc4661", "checkName": "IOT_POLICY_OVERLY_PERMISSIVE_CHECK", "taskStartTime": 1576012045.745, "findingTime": 1576012046.168, "severity": "CRITICAL", "nonCompliantResource": { "resourceType": "IOT_POLICY", "resourceIdentifier": { "policyVersionIdentifier": { "policyName": "smp-ggrass-group_Core-policy", "policyVersionId": "1" } } }, "reasonForNonCompliance": "Policy allows broad access to IoT data plane actions: [iot:Subscribe, iot:Connect, iot:GetThingShadow, iot:DeleteThingShadow, iot:UpdateThingShadow, iot:Publish].", "reasonForNonComplianceCode": "ALLOWS_BROAD_ACCESS_TO_IOT_DATA_PLANE_ACTIONS" } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的檢查稽核結果 (稽核命令)

下列程式碼範例會示範如何使用describe-audit-mitigation-actions-task

AWS CLI

若要顯示稽核緩和動作作業的詳細資訊

下列describe-audit-mitigation-actions-task範例顯示指定工作的詳細資訊,其中ResetPolicyVersionAction已套用至發現項目。結果包括任務開始和結束的時間、鎖定了多少發現項目 (以及結果),以及作為此任務一部分套用的動作定義。

aws iot describe-audit-mitigation-actions-task \ --task-id ResetPolicyTask01

輸出:

{ "taskStatus": "COMPLETED", "startTime": "2019-12-10T15:13:19.457000-08:00", "endTime": "2019-12-10T15:13:19.947000-08:00", "taskStatistics": { "IOT_POLICY_OVERLY_PERMISSIVE_CHECK": { "totalFindingsCount": 1, "failedFindingsCount": 0, "succeededFindingsCount": 1, "skippedFindingsCount": 0, "canceledFindingsCount": 0 } }, "target": { "findingIds": [ "ef4826b8-e55a-44b9-b460-5c485355371b" ] }, "auditCheckToActionsMapping": { "IOT_POLICY_OVERLY_PERMISSIVE_CHECK": [ "ResetPolicyVersionAction" ] }, "actionsDefinition": [ { "name": "ResetPolicyVersionAction", "id": "1ea0b415-bef1-4a01-bd13-72fb63c59afb", "roleArn": "arn:aws:iam::123456789012:role/service-role/ReplacePolicyVersionRole", "actionParams": { "replaceDefaultPolicyVersionParams": { "templateName": "BLANK_POLICY" } } } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 DescribeAuditMitigationActionsTask (緩解動作命令)

下列程式碼範例會示範如何使用describe-audit-suppression

AWS CLI

取得有關稽核發現項目抑制的詳細資訊

下列describe-audit-suppression範例列出有關稽核發現項目隱藏的詳細資訊。

aws iot describe-audit-task \ --task-id "787ed873b69cb4d6cdbae6ddd06996c5"

輸出:

{ "taskStatus": "COMPLETED", "taskType": "SCHEDULED_AUDIT_TASK", "taskStartTime": 1596168096.157, "taskStatistics": { "totalChecks": 1, "inProgressChecks": 0, "waitingForDataCollectionChecks": 0, "compliantChecks": 0, "nonCompliantChecks": 1, "failedChecks": 0, "canceledChecks": 0 }, "scheduledAuditName": "AWSIoTDeviceDefenderDailyAudit", "auditDetails": { "DEVICE_CERTIFICATE_EXPIRING_CHECK": { "checkRunStatus": "COMPLETED_NON_COMPLIANT", "checkCompliant": false, "totalResourcesCount": 195, "nonCompliantResourcesCount": 2 } } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核尋找抑制項目。

下列程式碼範例會示範如何使用describe-audit-task

AWS CLI

取得稽核實例的相關資訊

下列describe-audit-task範例會取得 AWS IoT Device Defender 稽核執行個體的相關資訊。如果稽核完成,則執行的摘要統計資料會包含在結果中。

aws iot describe-audit-task \ --task-id a3aea009955e501a31b764abe1bebd3d

輸出:

{ "taskStatus": "COMPLETED", "taskType": "ON_DEMAND_AUDIT_TASK", "taskStartTime": 1560356923.434, "taskStatistics": { "totalChecks": 3, "inProgressChecks": 0, "waitingForDataCollectionChecks": 0, "compliantChecks": 3, "nonCompliantChecks": 0, "failedChecks": 0, "canceledChecks": 0 }, "auditDetails": { "CA_CERTIFICATE_EXPIRING_CHECK": { "checkRunStatus": "COMPLETED_COMPLIANT", "checkCompliant": true, "totalResourcesCount": 0, "nonCompliantResourcesCount": 0 }, "DEVICE_CERTIFICATE_EXPIRING_CHECK": { "checkRunStatus": "COMPLETED_COMPLIANT", "checkCompliant": true, "totalResourcesCount": 6, "nonCompliantResourcesCount": 0 }, "REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK": { "checkRunStatus": "COMPLETED_COMPLIANT", "checkCompliant": true, "totalResourcesCount": 0, "nonCompliantResourcesCount": 0 } } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

下列程式碼範例會示範如何使用describe-authorizer

AWS CLI

取得自訂授權者的相關資訊

下列describe-authorizer範例會顯示指定自訂授權者的詳細資料。

aws iot describe-authorizer \ --authorizer-name CustomAuthorizer

輸出:

{ "authorizerDescription": { "authorizerName": "CustomAuthorizer", "authorizerArn": "arn:aws:iot:us-west-2:123456789012:authorizer/CustomAuthorizer", "authorizerFunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:CustomAuthorizerFunction", "tokenKeyName": "MyAuthToken", "tokenSigningPublicKeys": { "FIRST_KEY": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1uJOB4lQPgG/lM6ZfIwo\nZ+7ENxAio9q6QD4FFqjGZsvjtYwjoe1RKK0U8Eq9xb5O3kRSmyIwTzwzm/f4Gf0Y\nZUloJ+t3PUUwHrmbYTAgTrCUgRFygjfgVwGCPs5ZAX4Eyqt5cr+AIHIiUDbxSa7p\nzwOBKPeic0asNJpqT8PkBbRaKyleJh5oo81NDHHmVtbBm5A5YiJjqYXLaVAowKzZ\n+GqsNvAQ9Jy1wI2VrEa1OfL8flDB/BJLm7zjpfPOHDJQgID0XnZwAlNnZcOhCwIx\n50g2LW2Oy9R/dmqtDmJiVP97Z4GykxPvwlYHrUXY0iW1R3AR/Ac1NhCTGZMwVDB1\nlQIDAQAB\n-----END PUBLIC KEY-----" }, "status": "ACTIVE", "creationDate": 1571245658.069, "lastModifiedDate": 1571245658.069 } }

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

下列程式碼範例會示範如何使用describe-billing-group

AWS CLI

取得帳單群組的相關資訊

下列describe-billing-group範例會取得指定帳單群組的資訊。

aws iot describe-billing-group --billing-group-name GroupOne

輸出:

{ "billingGroupName": "GroupOne", "billingGroupId": "103de383-114b-4f51-8266-18f209ef5562", "billingGroupArn": "arn:aws:iot:us-west-2:123456789012:billinggroup/GroupOne", "version": 1, "billingGroupProperties": {}, "billingGroupMetadata": { "creationDate": 1560199355.378 } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的計費群組

下列程式碼範例會示範如何使用describe-ca-certificate

AWS CLI

取得 CA 憑證的詳細資料

下列describe-ca-certificate範例會顯示指定 CA 憑證的詳細資料。

aws iot describe-ca-certificate \ --certificate-id f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467

輸出:

{ "certificateDescription": { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cacert/f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467", "certificateId": "f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467", "status": "INACTIVE", "certificatePem": "-----BEGIN CERTIFICATE-----\nMIICzzCCAbegEXAMPLEJANVEPWXl8taPMA0GCSqGSIb3DQEBBQUAMB4xCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQKDAZBbWF6b24wHhcNMTkwOTI0MjEzMTE1WhcNMjkwOTIx\nMjEzMTE1WjAeMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGQW1hem9uMIIBIjANBgkq\nhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzd3R3ioalCS0MhFWfBrVGR036EK07UAf\nVdz9EXAMPLE1VczICbADnATK522kEIB51/18VzlFtAhQL5V5eybXKnB7QebNer5m\n4Yibx7shR5oqNzFsrXWxuugN5+w5gEfqNMawOjhF4LsculKG49yuqjcDU19/13ua\n3B2gxs1Pe7TiWWvUskzxnbO1F2WCshbEJvqY8fIWtGYCjTeJAgQ9hvZx/69XhKen\nwV9LJwOQxrsUS0Ty8IHwbB8fRy72VM3u7fJoaU+nO4jD5cqaoEPtzoeFUEXAMPLE\nyVAJpqHwgbYbcUfn7V+AB6yh1+0Fa1rEQGuZDPGyJslxwr5vh8nRewIDAQABoxAw\nDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQA+3a5CV3IJgOnd0AgI\nBgVMtmYzTvqAngx26aG9/spvCjXckh2SBF+EcBlCFwH1yakwjJL1dR4yarnrfxgI\nEqP4AOYVimAVoQ5FBwnloHe16+3qtDiblU9DeXBUCtS55EcfrEXAMPLEYtXdqU5C\nU9ia4KAjV0dxW1+EFYMwX5eGeb0gDTNHBylV6B/fOSZiQAwDYp4x3B+gAP+a/bWB\nu1umOqtBdWe6L6/83L+JhaTByqV25iVJ4c/UZUnG8926wUlDM9zQvEXuEVvzZ7+m\n4PSNqst/nVOvnLpoG4e0WgcJgANuB33CSWtjWSuYsbhmqQRknGhREXAMPLEZT4fm\nfo0e\n-----END CERTIFICATE-----\n", "ownedBy": "123456789012", "creationDate": 1569365372.053, "autoRegistrationStatus": "DISABLE", "lastModifiedDate": 1569365372.053, "customerVersion": 1, "generationId": "c5c2eb95-140b-4f49-9393-6aaac85b2a90", "validity": { "notBefore": 1569360675.0, "notAfter": 1884720675.0 } } }

如需詳細資訊,請參閱 IoT API 參考資料中的簡 DescribeCACertificate。AWS

下列程式碼範例會示範如何使用describe-certificate

AWS CLI

取得憑證的相關資訊

下列describe-certificate範例會顯示指定憑證的詳細資料。

aws iot describe-certificate \ --certificate-id "4f0ba725787aa94d67d2fca420eca022242532e8b3c58e7465c7778b443fd65e"

輸出:

{ "certificateDescription": { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/4f0ba725787aa94d67d2fca420eca022242532e8b3c58e7465c7778b443fd65e", "certificateId": "4f0ba725787aa94d67d2fca420eca022242532e8b3c58e7465c7778b443fd65e", "status": "ACTIVE", "certificatePem": "-----BEGIN CERTIFICATE----- MIICiTEXAMPLEQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBEXAMPLEMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDEXAMPLElMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5EXAMPLEcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNEXAMPLEdBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBEXAMPLEz b2xEXAMPLEYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8EXAMPLEZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYEXAMPLEpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7EXAMPLEGBzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFEXAMPLEAtCu4 nUhVVxYUnEXAMPLE8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GEXAMPLEl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= -----END CERTIFICATE-----", "ownedBy": "123456789012", "creationDate": 1541022751.983, "lastModifiedDate": 1541022751.983, "customerVersion": 1, "transferData": {}, "generationId": "6974fbed-2e61-4114-bc5e-4204cc79b045", "validity": { "notBefore": 1541022631.0, "notAfter": 2524607999.0 } } }

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

下列程式碼範例會示範如何使用describe-custom-metric

AWS CLI

取得裝置防禦者自訂量度的相關資訊

下列describe-custom-metric範例會取得名為的自訂量度的相關資訊myCustomMetric

aws iot describe-custom-metric \ --metric-name myCustomMetric

輸出:

{ "metricName": "myCustomMetric", "metricArn": "arn:aws:iot:us-east-1:1234564789012:custommetric/myCustomMetric", "metricType": "number", "displayName": "My custom metric", "creationDate": 2020-11-17T23:02:12.879000-09:00, "lastModifiedDate": 2020-11-17T23:02:12.879000-09:00 }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的自訂指

下列程式碼範例會示範如何使用describe-default-authorizer

AWS CLI

取得預設自訂授權者的相關資訊

下列describe-default-authorizer範例會顯示預設自訂授權者的詳細資訊。

aws iot describe-default-authorizer

輸出:

{ "authorizerName": "CustomAuthorizer", "authorizerArn": "arn:aws:iot:us-west-2:123456789012:authorizer/CustomAuthorizer" }

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

下列程式碼範例會示範如何使用describe-dimension

AWS CLI

取得維度的相關資訊

下列describe-dimension範例會取得名為之維度的相關資訊TopicFilterForAuthMessages

aws iot describe-dimension \ --name TopicFilterForAuthMessages

輸出:

{ "name": "TopicFilterForAuthMessages", "arn": "arn:aws:iot:eu-west-2:123456789012:dimension/TopicFilterForAuthMessages", "type": "TOPIC_FILTER", "stringValues": [ "device/+/auth" ], "creationDate": 1578620223.255, "lastModifiedDate": 1578620223.255 }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用describe-domain-configuration

AWS CLI

描述網域組態

下列describe-domain-configuration範例會顯示有關指定網域組態的詳細資料。

aws iot describe-domain-configuration \ --domain-configuration-name "additionalDataDomain"

輸出:

{ "domainConfigurationName": "additionalDataDomain", "domainConfigurationArn": "arn:aws:iot:us-east-1:758EXAMPLE143:domainconfiguration/additionalDataDomain/norpw", "domainName": "d055exampleed74y71zfd-ats.beta.us-east-1.iot.amazonaws.com", "serverCertificates": [], "domainConfigurationStatus": "ENABLED", "serviceType": "DATA", "domainType": "AWS_MANAGED", "lastStatusChangeDate": 1601923783.774 }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的可配置端點

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

AWS CLI

範例 1:取得目前的 AWS 端點

下列describe-endpoint範例會擷取套用所有命令的預設 AWS 端點。

aws iot describe-endpoint

輸出:

{ "endpointAddress": "abc123defghijk.iot.us-west-2.amazonaws.com" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南DescribeEndpoint中的。

範例 2:取得您的 ATS 端點

下列describe-endpoint範例會擷取 Amazon 信任服務 (ATS) 端點。

aws iot describe-endpoint \ --endpoint-type iot:Data-ATS

輸出:

{ "endpointAddress": "abc123defghijk-ats.iot.us-west-2.amazonaws.com" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 X.509 憑證和AWS IoT

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

下列程式碼範例會示範如何使用describe-event-configurations

AWS CLI

若要顯示已發佈的事件類型

下列describe-event-configurations範例會列出控制新增、更新或刪除某些項目時產生哪些事件的組態。

aws iot describe-event-configurations

輸出:

{ "eventConfigurations": { "CA_CERTIFICATE": { "Enabled": false }, "CERTIFICATE": { "Enabled": false }, "JOB": { "Enabled": false }, "JOB_EXECUTION": { "Enabled": false }, "POLICY": { "Enabled": false }, "THING": { "Enabled": false }, "THING_GROUP": { "Enabled": false }, "THING_GROUP_HIERARCHY": { "Enabled": false }, "THING_GROUP_MEMBERSHIP": { "Enabled": false }, "THING_TYPE": { "Enabled": false }, "THING_TYPE_ASSOCIATION": { "Enabled": false } } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的事件訊息

下列程式碼範例會示範如何使用describe-index

AWS CLI

若要擷取物索引的目前狀態

下列describe-index範例會擷取物索引的目前狀況。

aws iot describe-index \ --index-name "AWS_Things"

輸出:

{ "indexName": "AWS_Things", "indexStatus": "ACTIVE", "schema": "REGISTRY_AND_SHADOW_AND_CONNECTIVITY_STATUS" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的管理物件索引

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

下列程式碼範例會示範如何使用describe-job-execution

AWS CLI

取得裝置上工作的執行詳細資訊

下列describe-job-execution範例會取得指定工作的執行詳細資訊。

aws iot describe-job-execution \ --job-id "example-job-01" \ --thing-name "MyRaspberryPi"

輸出:

{ "execution": { "jobId": "example-job-01", "status": "QUEUED", "statusDetails": {}, "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyRaspberryPi", "queuedAt": 1560787023.636, "lastUpdatedAt": 1560787023.636, "executionNumber": 1, "versionNumber": 1 } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

下列程式碼範例會示範如何使用describe-job

AWS CLI

若要取得工作的詳細狀態

下列describe-job範例會取得 ID 為之工作的詳細狀態example-job-01

aws iot describe-job \ --job-id "example-job-01"

輸出:

{ "job": { "jobArn": "arn:aws:iot:us-west-2:123456789012:job/example-job-01", "jobId": "example-job-01", "targetSelection": "SNAPSHOT", "status": "IN_PROGRESS", "targets": [ "arn:aws:iot:us-west-2:123456789012:thing/MyRaspberryPi" ], "description": "example job test", "presignedUrlConfig": {}, "jobExecutionsRolloutConfig": {}, "createdAt": 1560787022.733, "lastUpdatedAt": 1560787026.294, "jobProcessDetails": { "numberOfCanceledThings": 0, "numberOfSucceededThings": 0, "numberOfFailedThings": 0, "numberOfRejectedThings": 0, "numberOfQueuedThings": 1, "numberOfInProgressThings": 0, "numberOfRemovedThings": 0, "numberOfTimedOutThings": 0 }, "timeoutConfig": {} } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

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

下列程式碼範例會示範如何使用describe-mitigation-action

AWS CLI

若要檢視已定義緩和動作的詳細資訊

下列describe-mitigation-action範例顯示指定緩和措施動作的詳細資訊。

aws iot describe-mitigation-action \ --action-name AddThingsToQuarantineGroupAction

輸出:

{ "actionName": "AddThingsToQuarantineGroupAction", "actionType": "ADD_THINGS_TO_THING_GROUP", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/AddThingsToQuarantineGroupAction", "actionId": "2fd2726d-98e1-4abf-b10f-09465ccd6bfa", "roleArn": "arn:aws:iam::123456789012:role/service-role/MoveThingsToQuarantineGroupRole", "actionParams": { "addThingsToThingGroupParams": { "thingGroupNames": [ "QuarantineGroup1" ], "overrideDynamicGroups": true } }, "creationDate": "2019-12-10T11:09:35.999000-08:00", "lastModifiedDate": "2019-12-10T11:09:35.999000-08:00" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 DescribeMitigationAction (緩解動作命令)

下列程式碼範例會示範如何使用describe-provisioning-template-version

AWS CLI

描述佈建範本版本

下列describe-provisioning-template-version範例說明佈建範本版本。

aws iot describe-provisioning-template-version \ --template-name MyTestProvisioningTemplate \ --version-id 1

輸出:

{ "versionId": 1, "creationDate": 1589308310.574, "templateBody": "{ \"Parameters\":{ \"SerialNumber\":{ \"Type\":\"String\" }, \"AWS::IoT::Certificate::Id\":{ \"Type\":\"String\" } }, \"Resources\":{ \"certificate\":{ \"Properties\":{ \"CertificateId\":{ \"Ref\":\"AWS::IoT::Certificate::Id\" }, \"Status\":\"Active\" }, \"Type\":\"AWS::IoT::Certificate\" }, \"policy\":{ \"Properties\":{ \"PolicyName\":\"MyIotPolicy\" }, \"Type\":\"AWS::IoT::Policy\" }, \"thing\":{ \"OverrideSettings\":{ \"AttributePayload\":\"MERGE\", \"ThingGroups\":\"DO_NOTHING\", \"ThingTypeName\":\"REPLACE\" }, \"Properties\":{ \"AttributePayload\":{}, \"ThingGroups\":[], \"ThingName\":{ \"Fn::Join\":[ \"\", [ \"DemoGroup_\", {\"Ref\":\"SerialNumber\"} ] ] }, \"ThingTypeName\":\"VirtualThings\" }, \"Type\":\"AWS::IoT::Thing\" } } }", "isDefaultVersion": true }

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的使用叢集佈建來佈建沒有裝置憑證的裝置。

下列程式碼範例會示範如何使用describe-provisioning-template

AWS CLI

描述佈建範本

下列describe-provisioning-template範例說明佈建範本。

aws iot describe-provisioning-template \ --template-name MyTestProvisioningTemplate

輸出:

{ "templateArn": "arn:aws:iot:us-west-2:57EXAMPLE833:provisioningtemplate/MyTestProvisioningTemplate", "templateName": "MyTestProvisioningTemplate", "creationDate": 1589308310.574, "lastModifiedDate": 1589308345.539, "defaultVersionId": 1, "templateBody": "{ \"Parameters\":{ \"SerialNumber\":{ \"Type\":\"String\" }, \"AWS::IoT::Certificate::Id\":{ \"Type\":\"String\" } }, \"Resources\":{ \"certificate\":{ \"Properties\":{ \"CertificateId\":{ \"Ref\":\"AWS::IoT::Certificate::Id\" }, \"Status\":\"Active\" }, \"Type\":\"AWS::IoT::Certificate\" }, \"policy\":{ \"Properties\":{ \"PolicyName\":\"MyIotPolicy\" }, \"Type\":\"AWS::IoT::Policy\" }, \"thing\":{ \"OverrideSettings\":{ \"AttributePayload\":\"MERGE\", \"ThingGroups\":\"DO_NOTHING\", \"ThingTypeName\":\"REPLACE\" }, \"Properties\":{ \"AttributePayload\":{}, \"ThingGroups\":[], \"ThingName\":{ \"Fn::Join\":[ \"\", [ \"DemoGroup_\", {\"Ref\":\"SerialNumber\"} ] ] }, \"ThingTypeName\":\"VirtualThings\" }, \"Type\":\"AWS::IoT::Thing\" } } }", "enabled": true, "provisioningRoleArn": "arn:aws:iam::571032923833:role/service-role/IoT_access" }

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的使用叢集佈建來佈建沒有裝置憑證的裝置。

下列程式碼範例會示範如何使用describe-role-alias

AWS CLI

取得 AWS IoT 角色別名的相關資訊

下列describe-role-alias範例會顯示指定角色別名的詳細資料。

aws iot describe-role-alias \ --role-alias LightBulbRole

輸出:

{ "roleAliasDescription": { "roleAlias": "LightBulbRole", "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/LightBulbRole", "roleArn": "arn:aws:iam::123456789012:role/light_bulb_role_001", "owner": "123456789012", "credentialDurationSeconds": 3600, "creationDate": 1570558643.221, "lastModifiedDate": 1570558643.221 } }

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

下列程式碼範例會示範如何使用describe-scheduled-audit

AWS CLI

若要取得已排程稽核的相關資訊

下列describe-scheduled-audit範例會取得有關名為之 AWS IOT 裝置防禦者排程稽核的詳細資訊AWSIoTDeviceDefenderDailyAudit

aws iot describe-scheduled-audit \ --scheduled-audit-name AWSIoTDeviceDefenderDailyAudit

輸出:

{ "frequency": "DAILY", "targetCheckNames": [ "AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK", "CONFLICTING_CLIENT_IDS_CHECK", "DEVICE_CERTIFICATE_SHARED_CHECK", "IOT_POLICY_OVERLY_PERMISSIVE_CHECK", "REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK", "UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK" ], "scheduledAuditName": "AWSIoTDeviceDefenderDailyAudit", "scheduledAuditArn": "arn:aws:iot:us-west-2:123456789012:scheduledaudit/AWSIoTDeviceDefenderDailyAudit" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

下列程式碼範例會示範如何使用describe-security-profile

AWS CLI

取得安全性設定檔的相關資訊

下列describe-security-profile範例會取得名為之 AWS IoT Device Defender 安全性設定檔的相關資訊 PossibleIssue.

aws iot describe-security-profile \ --security-profile-name PossibleIssue

輸出:

{ "securityProfileName": "PossibleIssue", "securityProfileArn": "arn:aws:iot:us-west-2:123456789012:securityprofile/PossibleIssue", "securityProfileDescription": "check to see if authorization fails 10 times in 5 minutes or if cellular bandwidth exceeds 128", "behaviors": [ { "name": "CellularBandwidth", "metric": "aws:message-byte-size", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 128 }, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } }, { "name": "Authorization", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 10 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } } ], "version": 1, "creationDate": 1560278102.528, "lastModifiedDate": 1560278102.528 }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用describe-stream

AWS CLI

取得串流的相關資訊

下列describe-stream範例會顯示有關指定資料流的詳細資料。

aws iot describe-stream \ --stream-id stream12345

輸出:

{ "streamInfo": { "streamId": "stream12345", "streamArn": "arn:aws:iot:us-west-2:123456789012:stream/stream12345", "streamVersion": 1, "description": "This stream is used for Amazon FreeRTOS OTA Update 12345.", "files": [ { "fileId": "123", "s3Location": { "bucket":"codesign-ota-bucket", "key":"48c67f3c-63bb-4f92-a98a-4ee0fbc2bef6" } } ], "createdAt": 1557863215.995, "lastUpdatedAt": 1557863215.995, "roleArn": "arn:aws:iam:123456789012:role/service-role/my_ota_stream_role" } }

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

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

下列程式碼範例會示範如何使用describe-thing-group

AWS CLI

若要取得有關物件群組的資訊

下列describe-thing-group範例會取得名為之物件群組的相關資訊HalogenBulbs

aws iot describe-thing-group \ --thing-group-name HalogenBulbs

輸出:

{ "thingGroupName": "HalogenBulbs", "thingGroupId": "f4ec6b84-b42b-499d-9ce1-4dbd4d4f6f6e", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/HalogenBulbs", "version": 1, "thingGroupProperties": {}, "thingGroupMetadata": { "parentGroupName": "LightBulbs", "rootToParentThingGroups": [ { "groupName": "LightBulbs", "groupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/LightBulbs" } ], "creationDate": 1559927609.897 } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

下列程式碼範例會示範如何使用describe-thing-type

AWS CLI

取得物件類型的相關資訊

下列describe-thing-type範例會顯示您 AWS 帳戶中所定義之指定物件類型的相關資訊。

aws iot describe-thing-type \ --thing-type-name "LightBulb"

輸出:

{ "thingTypeName": "LightBulb", "thingTypeId": "ce3573b0-0a3c-45a7-ac93-4e0ce14cd190", "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb", "thingTypeProperties": { "thingTypeDescription": "light bulb type", "searchableAttributes": [ "model", "wattage" ] }, "thingTypeMetadata": { "deprecated": false, "creationDate": 1559772562.498 } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物類型

下列程式碼範例會示範如何使用describe-thing

AWS CLI

若要顯示物件的詳細資訊

下列describe-thing範例會顯示在 AWS IoT 登錄中為您的 AWS 帳戶定義之物件 (裝置) 的相關資訊。

aws 物聯網描述的東西-事物名稱 "」MyLightBulb

輸出:

{ "defaultClientId": "MyLightBulb", "thingName": "MyLightBulb", "thingId": "40da2e73-c6af-406e-b415-15acae538797", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyLightBulb", "thingTypeName": "LightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 1 }

如需詳細資訊,請參閱 AWS IoT 開發人員指南的如何使用登錄來管理物件

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

下列程式碼範例會示範如何使用detach-policy

AWS CLI

範例 1:若要從物件群組中分離 AWS IoT 原則

下列detach-policy範例會將指定的原則與物群組分離,並依副檔名分離該群組和任何群組子群組中的所有項目。

aws iot detach-policy \ --target "arn:aws:iot:us-west-2:123456789012:thinggroup/LightBulbs" \ --policy-name "MyFirstGroup_Core-policy"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

範例 2:從裝置憑證中斷連結 AWS IoT 原則

下列detach-policy範例會從 ARN 識別的裝置憑證中卸離 TemperatureSensorPolicy 原則。

aws iot detach-policy \ --policy-name TemperatureSensorPolicy \ --target arn:aws:iot:us-west-2:123456789012:cert/488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142

此命令不會產生輸出。

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

下列程式碼範例會示範如何使用detach-security-profile

AWS CLI

取消安全性設定檔與目標的關聯

下列detach-security-profile範例會移除名為的 AWS IoT Device Defender 安全性設定檔Testprofile與所有已登錄物件目標之間的關聯。

aws iot detach-security-profile \ --security-profile-name Testprofile \ --security-profile-target-arn "arn:aws:iot:us-west-2:123456789012:all/registered-things"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用detach-thing-principal

AWS CLI

從物件中分離認證/主體的步驟

下列detach-thing-principal範例會從指定的物件移除代表主參與者的憑證。

aws iot detach-thing-principal \ --thing-name "MyLightBulb" \ --principal "arn:aws:iot:us-west-2:123456789012:cert/604c48437a57b7d5fc5d137c5be75011c6ee67c9a6943683a1acb4b1626bac36"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南的如何使用登錄來管理物件

下列程式碼範例會示範如何使用disable-topic-rule

AWS CLI

若要停用主題規則

下列disable-topic-rule範例會停用指定的主題規則。

aws iot disable-topic-rule \ --rule-name "MyPlantPiMoistureAlertRule"

此命令不會產生輸出。

如需詳細資訊,請參AWS IoT 開發人員指南中的檢視規則

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

下列程式碼範例會示範如何使用enable-topic-rule

AWS CLI

啟用主題規則

下列enable-topic-rule範例會啟用 (或重新啟用) 指定的主題規則。

aws iot enable-topic-rule \ --rule-name "MyPlantPiMoistureAlertRule"

此命令不會產生輸出。

如需詳細資訊,請參AWS IoT 開發人員指南中的檢視規則

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

下列程式碼範例會示範如何使用get-behavior-model-training-summaries

AWS CLI

列出裝置防禦者的 ML 偵測安全性設定檔訓練模型的狀態

下列get-behavior-model-training-summaries範例會列出所選安全性設定檔中已設定行為的模型訓練狀態。針對每個行為,會列出收集到的資料點的名稱、模型狀態和百分比。

aws iot get-behavior-model-training-summaries \ --security-profile-name MySecuirtyProfileName

輸出:

{ "summaries": [ { "securityProfileName": "MySecuirtyProfileName", "behaviorName": "Messages_sent_ML_behavior", "modelStatus": "PENDING_BUILD", "datapointsCollectionPercentage": 0.0 }, { "securityProfileName": "MySecuirtyProfileName", "behaviorName": "Messages_received_ML_behavior", "modelStatus": "PENDING_BUILD", "datapointsCollectionPercentage": 0.0 }, { "securityProfileName": "MySecuirtyProfileName", "behaviorName": "Authorization_failures_ML_behavior", "modelStatus": "PENDING_BUILD", "datapointsCollectionPercentage": 0.0 }, { "securityProfileName": "MySecuirtyProfileName", "behaviorName": "Message_size_ML_behavior", "modelStatus": "PENDING_BUILD", "datapointsCollectionPercentage": 0.0 }, { "securityProfileName": "MySecuirtyProfileName", "behaviorName": "Connection_attempts_ML_behavior", "modelStatus": "PENDING_BUILD", "datapointsCollectionPercentage": 0.0 }, { "securityProfileName": "MySPNoALerts", "behaviorName": "Disconnects_ML_behavior", "modelStatus": "PENDING_BUILD", "datapointsCollectionPercentage": 0.0 } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 GetBehaviorModelTrainingSummaries (偵測命令)

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

AWS CLI

若要傳回符合查詢之唯一值的近似計數

您可以使用以下設置腳本來創建代表 10 個溫度傳感器的東西。每個新事物都有 3 個屬性。

# Bash script. If in other shells, type `bash` before running Temperatures=(70 71 72 73 74 75 47 97 98 99) Racks=(Rack1 Rack1 Rack2 Rack2 Rack3 Rack4 Rack5 Rack6 Rack6 Rack6) IsNormal=(true true true true true true false false false false) for ((i=0; i<10 ; i++)) do thing=$(aws iot create-thing --thing-name "TempSensor$i" --attribute-payload attributes="{temperature=${Temperatures[i]},rackId=${Racks[i]},stateNormal=${IsNormal[i]}}") aws iot describe-thing --thing-name "TempSensor$i" done

設置腳本的示例輸出:

{ "version": 1, "thingName": "TempSensor0", "defaultClientId": "TempSensor0", "attributes": { "rackId": "Rack1", "stateNormal": "true", "temperature": "70" }, "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/TempSensor0", "thingId": "example1-90ab-cdef-fedc-ba987example" }

下列get-cardinality範例會查詢設定指令碼建立的 10 個感測器,並傳回溫度感測器會報告異常溫度值的機架數量。如果溫度值低於 60 或以上 80,則溫度傳感器處於異常狀態。

aws iot get-cardinality \ --aggregation-field "attributes.rackId" \ --query-string "thingName:TempSensor* AND attributes.stateNormal:false"

輸出:

{ "cardinality": 2 }

如需詳細資訊,請參閱< https://docs.aws.amazon.com/iot/latest/developerguide/index-aggregate.html > AWS IoT 開發人員指南中的查詢彙總資料。

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

下列程式碼範例會示範如何使用get-effective-policies

AWS CLI

若要列出影響物件的原則

下列get-effective-policies範例會列出影響指定物件的原則,包括附加至其所屬之任何群組的原則。

aws iot get-effective-policies \ --thing-name TemperatureSensor-001 \ --principal arn:aws:iot:us-west-2:123456789012:cert/488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142

輸出:

{ "effectivePolicies": [ { "policyName": "TemperatureSensorPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/TemperatureSensorPolicy", "policyDocument": "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Action\": [ \"iot:Publish\", \"iot:Receive\" ], \"Resource\": [ \"arn:aws:iot:us-west-2:123456789012:topic/topic_1\", \"arn:aws:iot:us-west-2:123456789012:topic/topic_2\" ] }, { \"Effect\": \"Allow\", \"Action\": [ \"iot:Subscribe\" ], \"Resource\": [ \"arn:aws:iot:us-west-2:123456789012:topicfilter/topic_1\", \"arn:aws:iot:us-west-2:123456789012:topicfilter/topic_2\" ] }, { \"Effect\": \"Allow\", \"Action\": [ \"iot:Connect\" ], \"Resource\": [ \"arn:aws:iot:us-west-2:123456789012:client/basicPubSub\" ] } ] }" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南的取得物件的有效原則

下列程式碼範例會示範如何使用get-indexing-configuration

AWS CLI

若要取得物件索引組態

下列get-indexing-configuration範例會取得 AWS IoT 叢集索引的目前組態資料。

aws iot get-indexing-configuration

輸出:

{ "thingIndexingConfiguration": { "thingIndexingMode": "OFF", "thingConnectivityIndexingMode": "OFF" }, "thingGroupIndexingConfiguration": { "thingGroupIndexingMode": "OFF" } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的管理物件索引

下列程式碼範例會示範如何使用get-job-document

AWS CLI

若要擷取工作的文件

下列get-job-document範例會顯示 ID 為之工作之文件的相關詳細資訊example-job-01

aws iot get-job-document \ --job-id "example-job-01"

輸出:

{ "document": "\n{\n \"operation\":\"customJob\",\n \"otherInfo\":\"someValue\"\n}\n" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

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

下列程式碼範例會示範如何使用get-logging-options

AWS CLI

若要取得記錄選項

下列get-logging-options範例會取得您 AWS 帳戶目前的記錄選項。

aws iot get-logging-options

輸出:

{ "roleArn": "arn:aws:iam::123456789012:role/service-role/iotLoggingRole", "logLevel": "ERROR" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的標題。

下列程式碼範例會示範如何使用get-ota-update

AWS CLI

檢索有關 OTA 更新的信息

以下示get-ota-update例顯示有關指定 OTA 更新的詳細信息。

aws iot get-ota-update \ --ota-update-id ota12345

輸出:

{ "otaUpdateInfo": { "otaUpdateId": "ota12345", "otaUpdateArn": "arn:aws:iot:us-west-2:123456789012:otaupdate/itsaupdate", "creationDate": 1557863215.995, "lastModifiedDate": 1557863215.995, "description": "A critical update needed right away.", "targets": [ "device1", "device2", "device3", "device4" ], "targetSelection": "SNAPSHOT", "protocols": ["HTTP"], "awsJobExecutionsRolloutConfig": { "maximumPerMinute": 10 }, "otaUpdateFiles": [ { "fileName": "firmware.bin", "fileLocation": { "stream": { "streamId": "004", "fileId":123 } }, "codeSigning": { "awsSignerJobId": "48c67f3c-63bb-4f92-a98a-4ee0fbc2bef6" } } ], "roleArn": "arn:aws:iam:123456789012:role/service-role/my_ota_role" "otaUpdateStatus": "CREATE_COMPLETE", "awsIotJobId": "job54321", "awsIotJobArn": "arn:aws:iot:us-west-2:123456789012:job/job54321", "errorInfo": { } } }

如需詳細資訊,請參閱 AWS IoT API 參考資料中的取得 GetOTAUpdate

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

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

AWS CLI

若要將符合查詢的彙總值分組到百分位數群組

您可以使用以下設置腳本來創建代表 10 個溫度傳感器的東西。每個新事物都有 1 個屬性。

# Bash script. If in other shells, type `bash` before running Temperatures=(70 71 72 73 74 75 47 97 98 99) for ((i=0; i<10 ; i++)) do thing=$(aws iot create-thing --thing-name "TempSensor$i" --attribute-payload attributes="{temperature=${Temperatures[i]}}") aws iot describe-thing --thing-name "TempSensor$i" done

設置腳本的示例輸出:

{ "version": 1, "thingName": "TempSensor0", "defaultClientId": "TempSensor0", "attributes": { "temperature": "70" }, "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/TempSensor0", "thingId": "example1-90ab-cdef-fedc-ba987example" }

下列get-percentiles範例會查詢安裝指令碼建立的 10 個感測器,並針對每個指定的百分位數群組傳回值。百分位數群組「10」包含彙總的欄位值,該值出現在與查詢相符的值的大約 10% 中。在以下輸出中,{「百分比」:10.0,「值」:67.7} 表示大約 10.0% 的溫度值低於 67.7。

aws iot get-percentiles \ --aggregation-field "attributes.temperature" \ --query-string "thingName:TempSensor*" \ --percents 10 25 50 75 90

輸出:

{ "percentiles": [ { "percent": 10.0, "value": 67.7 }, { "percent": 25.0, "value": 71.25 }, { "percent": 50.0, "value": 73.5 }, { "percent": 75.0, "value": 91.5 }, { "percent": 90.0, "value": 98.1 } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的查詢彙總資料

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

下列程式碼範例會示範如何使用get-policy-version

AWS CLI

取得策略特定版本的相關資訊

下列get-policy-version範例會取得指定原則之第一個版本的相關資訊。

aws iot get-policy \ --policy-name UpdateDeviceCertPolicy --policy-version-id "1"

輸出:

{ "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/UpdateDeviceCertPolicy", "policyName": "UpdateDeviceCertPolicy", "policyDocument": "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Action\": \"iot:UpdateCertificate\", \"Resource\": \"*\" } ] }", "policyVersionId": "1", "isDefaultVersion": false, "creationDate": 1559925941.924, "lastModifiedDate": 1559926175.458, "generationId": "5066f1b6712ce9d2a1e56399771649a272d6a921762fead080e24fe52f24e042" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的AWS IoT 政策

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

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

AWS CLI

取得原則預設版本的相關資訊

下列get-policy範例會擷取有關指定原則之預設版本的資訊。

aws iot get-policy \ --policy-name UpdateDeviceCertPolicy

輸出:

{ "policyName": "UpdateDeviceCertPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/UpdateDeviceCertPolicy", "policyDocument": "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Action\": \"iot:UpdateCertificate\", \"Resource\": \"*\" } ] }", "defaultVersionId": "2", "creationDate": 1559925941.924, "lastModifiedDate": 1559925941.924, "generationId": "5066f1b6712ce9d2a1e56399771649a272d6a921762fead080e24fe52f24e042" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的AWS IoT 政策

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

下列程式碼範例會示範如何使用get-registration-code

AWS CLI

取得 AWS 帳戶專屬的註冊碼

下列get-registration-code範例會擷取您 AWS 帳戶特定的註冊碼。

aws iot get-registration-code

輸出:

{ "registrationCode": "15c51ae5e36ba59ba77042df1115862076bea4bd15841c838fcb68d5010a614c" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南的使用您自己的憑證

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

AWS CLI

搜尋裝置索引以取得彙總資料

下列get-statistics範例會傳回其裝置陰影中名為 connectivity.connected set 的屬性 false (也就是未連線的裝置數目) 的物件數目。

aws iot get-statistics \ --index-name AWS_Things \ --query-string "connectivity.connected:false"

輸出:

{ "statistics": { "count": 6 } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南的取得裝置叢集的相關統計資料。

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

下列程式碼範例會示範如何使用get-topic-rule-destination

AWS CLI

取得主題規則目標

下列get-topic-rule-destination範例會取得有關主題規則目標的資訊。

aws iot get-topic-rule-destination \ --arn "arn:aws:iot:us-west-2:123456789012:ruledestination/http/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"

輸出:

{ "topicRuleDestination": { "arn": "arn:aws:iot:us-west-2:123456789012:ruledestination/http/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "status": "DISABLED", "httpUrlProperties": { "confirmationUrl": "https://example.com" } } }

如需詳細資訊,請參AWS IoT 開發人員指南中的使用主題規則目標。

下列程式碼範例會示範如何使用get-topic-rule

AWS CLI

若要取得規則的相關資訊

下列get-topic-rule範例會取得有關指定規則的資訊。

aws iot get-topic-rule \ --rule-name MyRPiLowMoistureAlertRule

輸出:

{ "ruleArn": "arn:aws:iot:us-west-2:123456789012:rule/MyRPiLowMoistureAlertRule", "rule": { "ruleName": "MyRPiLowMoistureAlertRule", "sql": "SELECT * FROM '$aws/things/MyRPi/shadow/update/accepted' WHERE state.reported.moisture = 'low'\n ", "description": "Sends an alert whenever soil moisture level readings are too low.", "createdAt": 1558624363.0, "actions": [ { "sns": { "targetArn": "arn:aws:sns:us-west-2:123456789012:MyRPiLowMoistureTopic", "roleArn": "arn:aws:iam::123456789012:role/service-role/MyRPiLowMoistureTopicRole", "messageFormat": "RAW" } } ], "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23" } }

如需詳細資訊,請參AWS IoT 開發人員指南中的檢視規則

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

下列程式碼範例會示範如何使用get-v2-logging-options

AWS CLI

若要列出目前的記錄選項

下列get-v2-logging-options範例會列出 AWS IoT 目前的記錄選項。

aws iot get-v2-logging-options

輸出:

{ "roleArn": "arn:aws:iam::094249569039:role/service-role/iotLoggingRole", "defaultLogLevel": "WARN", "disableAllLogs": false }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的標題。

  • 有關 API 的詳細信息,請參閱AWS CLI 命令參考LoggingOptions中的 GetV2

下列程式碼範例會示範如何使用list-active-violations

AWS CLI

列出作用中違規的步驟

下列list-active-violations範例會列出指定安全性設定檔的所有違規。

aws iot list-active-violations \ --security-profile-name Testprofile

輸出:

{ "activeViolations": [ { "violationId": "174db59167fa474c80a652ad1583fd44", "thingName": "iotconsole-1560269126751-1", "securityProfileName": "Testprofile", "behavior": { "name": "Authorization", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 10 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } }, "lastViolationValue": { "count": 0 }, "lastViolationTime": 1560293700.0, "violationStartTime": 1560279000.0 }, { "violationId": "c8a9466a093d3b7b35cd44ca58bdbeab", "thingName": "TvnQoEoU", "securityProfileName": "Testprofile", "behavior": { "name": "CellularBandwidth", "metric": "aws:message-byte-size", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 128 }, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } }, "lastViolationValue": { "count": 110 }, "lastViolationTime": 1560369000.0, "violationStartTime": 1560276600.0 }, { "violationId": "74aa393adea02e6648f3ac362beed55e", "thingName": "iotconsole-1560269232412-2", "securityProfileName": "Testprofile", "behavior": { "name": "Authorization", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 10 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } }, "lastViolationValue": { "count": 0 }, "lastViolationTime": 1560276600.0, "violationStartTime": 1560276600.0 }, { "violationId": "1e6ab5f7cf39a1466fcd154e1377e406", "thingName": "TvnQoEoU", "securityProfileName": "Testprofile", "behavior": { "name": "Authorization", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 10 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } }, "lastViolationValue": { "count": 0 }, "lastViolationTime": 1560369000.0, "violationStartTime": 1560276600.0 } ] }

下列程式碼範例會示範如何使用list-attached-policies

AWS CLI

範例 1:列出附加至群組的策略

下列list-attached-policies範例會列出附加至指定群組的原則。

aws iot list-attached-policies \ --target "arn:aws:iot:us-west-2:123456789012:thinggroup/LightBulbs"

輸出:

{ "policies": [ { "policyName": "UpdateDeviceCertPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/UpdateDeviceCertPolicy" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

範例 2:列出附加至裝置憑證的規則

下列list-attached-policies範例列出附加至裝置憑證的 AWS IoT 原則。憑證由其 ARN 識別。

aws iot list-attached-policies \ --target arn:aws:iot:us-west-2:123456789012:cert/488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142

輸出:

{ "policies": [ { "policyName": "TemperatureSensorPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/TemperatureSensorPolicy" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

下列程式碼範例會示範如何使用list-audit-findings

AWS CLI

範例 1:列出稽核中的所有發現項目

下列list-audit-findings範例會列出具有指定工作 ID 的 AWS IoT Device Defender 稽核中的所有發現項目。

aws iot list-audit-findings \ --task-id a3aea009955e501a31b764abe1bebd3d

輸出:

{ "findings": [] }

範例 2:列出稽核檢查類型的發現項目

下列list-audit-findings範例顯示在 2019 年 6 月 5 日至 2019 年 6 月 19 日之間執行的 AWS IoT Device Defender 稽核的發現項目,其中裝置正在共用裝置憑證。指定檢查名稱時,必須提供開始和結束時間。

aws iot list-audit-findings \ --check-name DEVICE_CERTIFICATE_SHARED_CHECK \ --start-time 1559747125 \ --end-time 1560962028

輸出:

{ "findings": [ { "taskId": "eeef61068b0eb03c456d746c5a26ee04", "checkName": "DEVICE_CERTIFICATE_SHARED_CHECK", "taskStartTime": 1560161017.172, "findingTime": 1560161017.592, "severity": "CRITICAL", "nonCompliantResource": { "resourceType": "DEVICE_CERTIFICATE", "resourceIdentifier": { "deviceCertificateId": "b193ab7162c0fadca83246d24fa090300a1236fe58137e121b011804d8ac1d6b" } }, "relatedResources": [ { "resourceType": "CLIENT_ID", "resourceIdentifier": { "clientId": "ZipxgAIl" }, "additionalInfo": { "CONNECTION_TIME": "1560086374068" } }, { "resourceType": "CLIENT_ID", "resourceIdentifier": { "clientId": "ZipxgAIl" }, "additionalInfo": { "CONNECTION_TIME": "1560081552187", "DISCONNECTION_TIME": "1560086371552" } }, { "resourceType": "CLIENT_ID", "resourceIdentifier": { "clientId": "ZipxgAIl" }, "additionalInfo": { "CONNECTION_TIME": "1559289863631", "DISCONNECTION_TIME": "1560081532716" } } ], "reasonForNonCompliance": "Certificate shared by one or more devices.", "reasonForNonComplianceCode": "CERTIFICATE_SHARED_BY_MULTIPLE_DEVICES" }, { "taskId": "bade6b5efd2e1b1569822f6021b39cf5", "checkName": "DEVICE_CERTIFICATE_SHARED_CHECK", "taskStartTime": 1559988217.27, "findingTime": 1559988217.655, "severity": "CRITICAL", "nonCompliantResource": { "resourceType": "DEVICE_CERTIFICATE", "resourceIdentifier": { "deviceCertificateId": "b193ab7162c0fadca83246d24fa090300a1236fe58137e121b011804d8ac1d6b" } }, "relatedResources": [ { "resourceType": "CLIENT_ID", "resourceIdentifier": { "clientId": "xShGENLW" }, "additionalInfo": { "CONNECTION_TIME": "1559972350825" } }, { "resourceType": "CLIENT_ID", "resourceIdentifier": { "clientId": "xShGENLW" }, "additionalInfo": { "CONNECTION_TIME": "1559255062002", "DISCONNECTION_TIME": "1559972350616" } } ], "reasonForNonCompliance": "Certificate shared by one or more devices.", "reasonForNonComplianceCode": "CERTIFICATE_SHARED_BY_MULTIPLE_DEVICES" }, { "taskId": "c23f6233ba2d35879c4bb2810fb5ffd6", "checkName": "DEVICE_CERTIFICATE_SHARED_CHECK", "taskStartTime": 1559901817.31, "findingTime": 1559901817.767, "severity": "CRITICAL", "nonCompliantResource": { "resourceType": "DEVICE_CERTIFICATE", "resourceIdentifier": { "deviceCertificateId": "b193ab7162c0fadca83246d24fa090300a1236fe58137e121b011804d8ac1d6b" } }, "relatedResources": [ { "resourceType": "CLIENT_ID", "resourceIdentifier": { "clientId": "TvnQoEoU" }, "additionalInfo": { "CONNECTION_TIME": "1559826729768" } }, { "resourceType": "CLIENT_ID", "resourceIdentifier": { "clientId": "TvnQoEoU" }, "additionalInfo": { "CONNECTION_TIME": "1559345920964", "DISCONNECTION_TIME": "1559826728402" } } ], "reasonForNonCompliance": "Certificate shared by one or more devices.", "reasonForNonComplianceCode": "CERTIFICATE_SHARED_BY_MULTIPLE_DEVICES" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

下列程式碼範例會示範如何使用list-audit-mitigation-actions-executions

AWS CLI

若要列出稽核緩和動作執行的詳細資訊

稽核緩和措施動作工作會將緩解動作套用至 AWS IoT Device Defender 稽核中的一或多個發現項目。下列list-audit-mitigation-actions-executions範例列出具有指定項目taskId和指定發現項目之緩和動作工作的詳細資訊。

aws iot list-audit-mitigation-actions-executions \ --task-id myActionsTaskId \ --finding-id 0edbaaec-2fe1-4cf5-abc9-d4c3e51f7464

輸出:

{ "actionsExecutions": [ { "taskId": "myActionsTaskId", "findingId": "0edbaaec-2fe1-4cf5-abc9-d4c3e51f7464", "actionName": "ResetPolicyVersionAction", "actionId": "1ea0b415-bef1-4a01-bd13-72fb63c59afb", "status": "COMPLETED", "startTime": "2019-12-10T15:19:13.279000-08:00", "endTime": "2019-12-10T15:19:13.337000-08:00" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 ListAuditMitigationActionsExecutions (緩解動作命令)

下列程式碼範例會示範如何使用list-audit-mitigation-actions-tasks

AWS CLI

若要列出稽核緩和動作工作

下列list-audit-mitigation-actions-tasks範例列出在指定期間內套用至發現項目的緩和措施動作。

aws iot list-audit-mitigation-actions-tasks \ --start-time 1594157400 \ --end-time 1594157430

輸出:

{ "tasks": [ { "taskId": "0062f2d6-3999-488f-88c7-bef005414103", "startTime": "2020-07-07T14:30:15.172000-07:00", "taskStatus": "COMPLETED" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 ListAuditMitigationActionsTasks (緩解動作命令)

下列程式碼範例會示範如何使用list-audit-suppressions

AWS CLI

列出所有稽核尋找抑制項目的步驟

下列list-audit-suppressions範例會列出所有使用中的稽核尋找抑制項目。

aws iot list-audit-suppressions

輸出:

{ "suppressions": [ { "checkName": "DEVICE_CERTIFICATE_EXPIRING_CHECK", "resourceIdentifier": { "deviceCertificateId": "c7691e<shortened>" }, "expirationDate": 1597881600.0, "suppressIndefinitely": false } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核尋找抑制項目。

下列程式碼範例會示範如何使用list-audit-tasks

AWS CLI

若要列出稽核中的所有發現項目

下列list-audit-tasks範例會列出在 2019 年 6 月 5 日至 2019 年 6 月 12 日之間執行的稽核作業。

aws iot list-audit-tasks \ --start-time 1559747125 \ --end-time 1560357228

輸出:

{ "tasks": [ { "taskId": "a3aea009955e501a31b764abe1bebd3d", "taskStatus": "COMPLETED", "taskType": "ON_DEMAND_AUDIT_TASK" }, { "taskId": "f76b4b5102b632cd9ae38a279c266da1", "taskStatus": "COMPLETED", "taskType": "SCHEDULED_AUDIT_TASK" }, { "taskId": "51d9967d9f9ff4d26529505f6d2c444a", "taskStatus": "COMPLETED", "taskType": "SCHEDULED_AUDIT_TASK" }, { "taskId": "eeef61068b0eb03c456d746c5a26ee04", "taskStatus": "COMPLETED", "taskType": "SCHEDULED_AUDIT_TASK" }, { "taskId": "041c49557b7c7b04c079a49514b55589", "taskStatus": "COMPLETED", "taskType": "SCHEDULED_AUDIT_TASK" }, { "taskId": "82c7f2afac1562d18a4560be73998acc", "taskStatus": "COMPLETED", "taskType": "SCHEDULED_AUDIT_TASK" }, { "taskId": "bade6b5efd2e1b1569822f6021b39cf5", "taskStatus": "COMPLETED", "taskType": "SCHEDULED_AUDIT_TASK" }, { "taskId": "c23f6233ba2d35879c4bb2810fb5ffd6", "taskStatus": "COMPLETED", "taskType": "SCHEDULED_AUDIT_TASK" }, { "taskId": "ac9086b7222a2f5e2e17bb6fd30b3aeb", "taskStatus": "COMPLETED", "taskType": "SCHEDULED_AUDIT_TASK" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

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

下列程式碼範例會示範如何使用list-authorizers

AWS CLI

列出您的自訂授權者

下列list-authorizers範例會列出您 AWS 帳戶中的自訂授權者。

aws iot list-authorizers

輸出:

{ "authorizers": [ { "authorizerName": "CustomAuthorizer", "authorizerArn": "arn:aws:iot:us-west-2:123456789012:authorizer/CustomAuthorizer" }, { "authorizerName": "CustomAuthorizer2", "authorizerArn": "arn:aws:iot:us-west-2:123456789012:authorizer/CustomAuthorizer2" }, { "authorizerName": "CustomAuthorizer3", "authorizerArn": "arn:aws:iot:us-west-2:123456789012:authorizer/CustomAuthorizer3" } ] }

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

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

下列程式碼範例會示範如何使用list-billing-groups

AWS CLI

列出您 AWS 帳戶和地區的帳單群組

下列list-billing-groups範例會列出針對您的 AWS 帳戶和 AWS 區域定義的所有帳單群組。

aws iot list-billing-groups

輸出:

{ "billingGroups": [ { "groupName": "GroupOne", "groupArn": "arn:aws:iot:us-west-2:123456789012:billinggroup/GroupOne" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的計費群組

下列程式碼範例會示範如何使用list-ca-certificates

AWS CLI

列出您 AWS 帳戶中註冊的 CA 憑證

下列list-ca-certificates範例會列出您 AWS 帳戶中註冊的 CA 憑證。

aws iot list-ca-certificates

輸出:

{ "certificates": [ { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cacert/f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467", "certificateId": "f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467", "status": "INACTIVE", "creationDate": 1569365372.053 } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南的使用您自己的憑證

下列程式碼範例會示範如何使用list-certificates-by-ca

AWS CLI

列出所有使用 CA 憑證簽署的裝置憑證

下列list-certificates-by-ca範例會列出您 AWS 帳戶中使用指定 CA 憑證簽署的所有裝置憑證。

aws iot list-certificates-by-ca \ --ca-certificate-id f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467

輸出:

{ "certificates": [ { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142", "certificateId": "488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142", "status": "ACTIVE", "creationDate": 1569363250.557 } ] }

如需詳細資訊,請參閱 AWS IoT API 參考資料中的 ListCertificatesByCA

下列程式碼範例會示範如何使用list-certificates

AWS CLI

範例 1:列出您 AWS 帳戶中註冊的憑證

下列list-certificates範例會列出您帳戶中註冊的所有憑證。如果您的預設分頁限制超過 25,您可以使用此命令的nextMarker回應值,並將其提供給下一個命令,以取得下一批結果。重複直到沒有值的nextMarker返回。

aws iot list-certificates

輸出:

{ "certificates": [ { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/604c48437a57b7d5fc5d137c5be75011c6ee67c9a6943683a1acb4b1626bac36", "certificateId": "604c48437a57b7d5fc5d137c5be75011c6ee67c9a6943683a1acb4b1626bac36", "status": "ACTIVE", "creationDate": 1556810537.617 }, { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/262a1ac8a7d8aa72f6e96e365480f7313aa9db74b8339ec65d34dc3074e1c31e", "certificateId": "262a1ac8a7d8aa72f6e96e365480f7313aa9db74b8339ec65d34dc3074e1c31e", "status": "ACTIVE", "creationDate": 1546447050.885 }, { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/b193ab7162c0fadca83246d24fa090300a1236fe58137e121b011804d8ac1d6b", "certificateId": "b193ab7162c0fadca83246d24fa090300a1236fe58137e121b011804d8ac1d6b", "status": "ACTIVE", "creationDate": 1546292258.322 }, { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/7aebeea3845d14a44ec80b06b8b78a89f3f8a706974b8b34d18f5adf0741db42", "certificateId": "7aebeea3845d14a44ec80b06b8b78a89f3f8a706974b8b34d18f5adf0741db42", "status": "ACTIVE", "creationDate": 1541457693.453 }, { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/54458aa39ebb3eb39c91ffbbdcc3a6ca1c7c094d1644b889f735a6fc2cd9a7e3", "certificateId": "54458aa39ebb3eb39c91ffbbdcc3a6ca1c7c094d1644b889f735a6fc2cd9a7e3", "status": "ACTIVE", "creationDate": 1541113568.611 }, { "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/4f0ba725787aa94d67d2fca420eca022242532e8b3c58e7465c7778b443fd65e", "certificateId": "4f0ba725787aa94d67d2fca420eca022242532e8b3c58e7465c7778b443fd65e", "status": "ACTIVE", "creationDate": 1541022751.983 } ] }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListCertificates中的。

下列程式碼範例會示範如何使用list-custom-metrics

AWS CLI

列出您的自訂指標

下列list-custom-metrics範例會列出您所有的自訂量度。

aws iot list-custom-metrics \ --region us-east-1

輸出:

{ "metricNames": [ "batteryPercentage" ] }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的自訂指

下列程式碼範例會示範如何使用list-dimensions

AWS CLI

列出您 AWS 帳戶的維度

下列list-dimensions範例會列出您 AWS 帳戶中定義的所有 AWS IoT Device Defender 維度。

aws iot list-dimensions

輸出:

{ "dimensionNames": [ "TopicFilterForAuthMessages", "TopicFilterForActivityMessages" ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

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

下列程式碼範例會示範如何使用list-domain-configurations

AWS CLI

列出網域組態

下列list-domain-configurations範例會列出您 AWS 帳戶中具有指定服務類型的網域組態。

aws iot list-domain-configurations \ --service-type "DATA"

輸出:

{ "domainConfigurations": [ { "domainConfigurationName": "additionalDataDomain", "domainConfigurationArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/additionalDataDomain/dikMh", "serviceType": "DATA" }, { "domainConfigurationName": "iot:Jobs", "domainConfigurationArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/iot:Jobs", "serviceType": "JOBS" }, { "domainConfigurationName": "iot:Data-ATS", "domainConfigurationArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/iot:Data-ATS", "serviceType": "DATA" }, { "domainConfigurationName": "iot:CredentialProvider", "domainConfigurationArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/iot:CredentialProvider", "serviceType": "CREDENTIAL_PROVIDER" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的可配置端點

下列程式碼範例會示範如何使用list-indices

AWS CLI

列出設定的搜尋索引

下列list-indices範例會列出您 AWS 帳戶中所有已設定的搜尋索引。如果您尚未啟用物件索引,則可能沒有任何索引。

aws iot list-indices

輸出:

{ "indexNames": [ "AWS_Things" ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的管理物件索引

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

下列程式碼範例會示範如何使用list-job-executions-for-job

AWS CLI

列出您 AWS 帳戶中的工作

下列list-job-executions-for-job範例會列出您 AWS 帳戶中某個工作的所有工作執行 (由 jobId 指定)。

aws iot list-job-executions-for-job \ --job-id my-ota-job

輸出:

{ "executionSummaries": [ { "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/my_thing", "jobExecutionSummary": { "status": "QUEUED", "queuedAt": "2022-03-07T15:58:42.195000-08:00", "lastUpdatedAt": "2022-03-07T15:58:42.195000-08:00", "executionNumber": 1, "retryAttempt": 0 } } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

下列程式碼範例會示範如何使用list-job-executions-for-thing

AWS CLI

列出針對物件執行的工作

下列list-job-executions-for-thing範例會列出針對名為的物件執行的所有工作MyRaspberryPi

aws iot list-job-executions-for-thing \ --thing-name "MyRaspberryPi"

輸出:

{ "executionSummaries": [ { "jobId": "example-job-01", "jobExecutionSummary": { "status": "QUEUED", "queuedAt": 1560787023.636, "lastUpdatedAt": 1560787023.636, "executionNumber": 1 } } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

下列程式碼範例會示範如何使用list-jobs

AWS CLI

列出您 AWS 帳戶中的工作

下列list-jobs範例會列出您 AWS 帳戶中的所有工作,並依工作狀態排序。

aws iot list-jobs

輸出:

{ "jobs": [ { "jobArn": "arn:aws:iot:us-west-2:123456789012:job/example-job-01", "jobId": "example-job-01", "targetSelection": "SNAPSHOT", "status": "IN_PROGRESS", "createdAt": 1560787022.733, "lastUpdatedAt": 1560787026.294 } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

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

下列程式碼範例會示範如何使用list-mitigation-actions

AWS CLI

列出所有已定義的緩和動作

下列list-mitigation-actions範例會列出您 AWS 帳戶和區域的所有已定義緩和措施動作。每個動作都會列出名稱、ARN 和建立日期。

aws iot list-mitigation-actions

輸出:

{ "actionIdentifiers": [ { "actionName": "DeactivateCACertAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/DeactivateCACertAction", "creationDate": "2019-12-10T11:12:47.574000-08:00" }, { "actionName": "ResetPolicyVersionAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/ResetPolicyVersionAction", "creationDate": "2019-12-10T11:11:48.920000-08:00" }, { "actionName": "PublishFindingToSNSAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/PublishFindingToSNSAction", "creationDate": "2019-12-10T11:10:49.546000-08:00" }, { "actionName": "AddThingsToQuarantineGroupAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/AddThingsToQuarantineGroupAction", "creationDate": "2019-12-10T11:09:35.999000-08:00" }, { "actionName": "UpdateDeviceCertAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/UpdateDeviceCertAction", "creationDate": "2019-12-10T11:08:44.263000-08:00" }, { "actionName": "SampleMitigationAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/SampleMitigationAction", "creationDate": "2019-12-10T11:03:41.840000-08:00" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 ListMitigationActions (緩解動作命令)

下列程式碼範例會示範如何使用list-mitigations-actions

AWS CLI

列出所有已定義的緩和動作

下列list-mitigations-actions範例會列出您 AWS 帳戶和區域的所有已定義緩和措施動作。每個動作都會列出名稱、ARN 和建立日期。

aws iot list-mitigation-actions

輸出:

{ "actionIdentifiers": [ { "actionName": "DeactivateCACertAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/DeactivateCACertAction", "creationDate": "2019-12-10T11:12:47.574000-08:00" }, { "actionName": "ResetPolicyVersionAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/ResetPolicyVersionAction", "creationDate": "2019-12-10T11:11:48.920000-08:00" }, { "actionName": "PublishFindingToSNSAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/PublishFindingToSNSAction", "creationDate": "2019-12-10T11:10:49.546000-08:00" }, { "actionName": "AddThingsToQuarantineGroupAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/AddThingsToQuarantineGroupAction", "creationDate": "2019-12-10T11:09:35.999000-08:00" }, { "actionName": "UpdateDeviceCertAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/UpdateDeviceCertAction", "creationDate": "2019-12-10T11:08:44.263000-08:00" }, { "actionName": "SampleMitigationAction", "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/SampleMitigationAction", "creationDate": "2019-12-10T11:03:41.840000-08:00" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 ListMitigationActions (緩解動作命令)

下列程式碼範例會示範如何使用list-ota-updates

AWS CLI

列出帳戶的 OTA 更新

下列list-ota-updates範例會列出可用的 OTA 更新。

aws iot list-ota-updates

輸出:

{ "otaUpdates": [ { "otaUpdateId": "itsaupdate", "otaUpdateArn": "arn:aws:iot:us-west-2:123456789012:otaupdate/itsaupdate", "creationDate": 1557863215.995 } ] }

如需詳細資訊,請參閱 AWS IoT API 參考資料中的 ListOTAUpdates

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

下列程式碼範例會示範如何使用list-outgoing-certificates

AWS CLI

列出傳輸到不同 AWS 帳戶的憑證

下列list-outgoing-certificates範例會列出正在使用transfer-certificate指令傳輸至其他 AWS 帳戶的所有裝置憑證。

aws iot list-outgoing-certificates

輸出:

{ "outgoingCertificates": [ { "certificateArn": "arn:aws:iot:us-west-2:030714055129:cert/488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142", "certificateId": "488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142", "transferredTo": "030714055129", "transferDate": 1569427780.441, "creationDate": 1569363250.557 } ] }

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

下列程式碼範例會示範如何使用list-policies

AWS CLI

列出您 AWS 帳戶中定義的策略

下列list-policies範例會列出您 AWS 帳戶中定義的所有策略。

aws iot list-policies

輸出:

{ "policies": [ { "policyName": "UpdateDeviceCertPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/UpdateDeviceCertPolicy" }, { "policyName": "PlantIoTPolicy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/PlantIoTPolicy" }, { "policyName": "MyPiGroup_Core-policy", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/MyPiGroup_Core-policy" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的AWS IoT 政策

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

下列程式碼範例會示範如何使用list-policy-versions

AWS CLI

範例 1:若要查看策略的所有版本

下列list-policy-versions範例會列出指定原則的所有版本及其建立日期。

aws iot list-policy-versions \ --policy-name LightBulbPolicy

輸出:

{ "policyVersions": [ { "versionId": "2", "isDefaultVersion": true, "createDate": 1559925941.924 }, { "versionId": "1", "isDefaultVersion": false, "createDate": 1559925941.924 } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的AWS IoT 政策

下列程式碼範例會示範如何使用list-principal-things

AWS CLI

列出與主體附加的東西

下列list-principal-things範例會列出 ARN 所指定之主參與者附加的物件。

aws iot list-principal-things \ --principal arn:aws:iot:us-west-2:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8

輸出:

{ "things": [ "DeskLamp", "TableLamp" ] }

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

下列程式碼範例會示範如何使用list-provisioning-template-versions

AWS CLI

若要列出佈建範本版本

下列list-provisioning-template-versions範例會列出指定佈建範本的可用版本。

aws iot list-provisioning-template-versions \ --template-name "widget-template"

輸出:

{ "versions": [ { "versionId": 1, "creationDate": 1574800471.339, "isDefaultVersion": true }, { "versionId": 2, "creationDate": 1574801192.317, "isDefaultVersion": false } ] }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的AWS IoT 安全通道

下列程式碼範例會示範如何使用list-provisioning-templates

AWS CLI

列出啟動設定範本

下列範list-provisioning-templates例會列出您 AWS 帳戶中的所有佈建範本。

aws iot list-provisioning-templates

輸出:

{ "templates": [ { "templateArn": "arn:aws:iot:us-east-1:123456789012:provisioningtemplate/widget-template", "templateName": "widget-template", "description": "A provisioning template for widgets", "creationDate": 1574800471.367, "lastModifiedDate": 1574801192.324, "enabled": false } ] }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的AWS IoT 安全通道

下列程式碼範例會示範如何使用list-role-aliases

AWS CLI

列出 AWS 帳戶中的 AWS IoT 角色別名

下列list-role-aliases範例會列出 AWS 帳戶中的 AWS IoT 角色別名。

aws iot list-role-aliases

輸出:

{ "roleAliases": [ "ResidentAlias", "ElectricianAlias" ] }

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

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

下列程式碼範例會示範如何使用list-scheduled-audits

AWS CLI

列出您 AWS 帳戶的排程稽核

下列list-scheduled-audits範例會列出針對您 AWS 帳戶排定的任何稽核。

aws iot list-scheduled-audits

輸出:

{ "scheduledAudits": [ { "scheduledAuditName": "AWSIoTDeviceDefenderDailyAudit", "scheduledAuditArn": "arn:aws:iot:us-west-2:123456789012:scheduledaudit/AWSIoTDeviceDefenderDailyAudit", "frequency": "DAILY" }, { "scheduledAuditName": "AWSDeviceDefenderWeeklyAudit", "scheduledAuditArn": "arn:aws:iot:us-west-2:123456789012:scheduledaudit/AWSDeviceDefenderWeeklyAudit", "frequency": "WEEKLY", "dayOfWeek": "SUN" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

下列程式碼範例會示範如何使用list-security-profiles-for-target

AWS CLI

列出連結至目標的安全設定檔

下列list-security-profiles-for-target範例會列出連接至未註冊裝置的 AWS IoT 裝置 Defender 安全性設定檔。

aws iot list-security-profiles-for-target \ --security-profile-target-arn "arn:aws:iot:us-west-2:123456789012:all/unregistered-things"

輸出:

{ "securityProfileTargetMappings": [ { "securityProfileIdentifier": { "name": "Testprofile", "arn": "arn:aws:iot:us-west-2:123456789012:securityprofile/Testprofile" }, "target": { "arn": "arn:aws:iot:us-west-2:123456789012:all/unregistered-things" } } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用list-security-profiles

AWS CLI

列出您 AWS 帳戶的安全性設定檔

下列list-security-profiles範例會列出您 AWS 帳戶中定義的所有 AWS IoT Device Defender 安全性設定檔。

aws iot list-security-profiles

輸出:

{ "securityProfileIdentifiers": [ { "name": "Testprofile", "arn": "arn:aws:iot:us-west-2:123456789012:securityprofile/Testprofile" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用list-streams

AWS CLI

若要列出帳戶中的串流

下列list-streams範例會列出您 AWS 帳戶中的所有串流。

aws iot list-streams

輸出:

{ "streams": [ { "streamId": "stream12345", "streamArn": "arn:aws:iot:us-west-2:123456789012:stream/stream12345", "streamVersion": 1, "description": "This stream is used for Amazon FreeRTOS OTA Update 12345." }, { "streamId": "stream54321", "streamArn": "arn:aws:iot:us-west-2:123456789012:stream/stream54321", "streamVersion": 1, "description": "This stream is used for Amazon FreeRTOS OTA Update 54321." } ] }

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

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

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

AWS CLI

若要顯示與資源相關聯的標籤及其值

下列list-tags-for-resource範例會顯示與物件群組相關聯的標籤與值LightBulbs

aws iot list-tags-for-resource \ --resource-arn "arn:aws:iot:us-west-2:094249569039:thinggroup/LightBulbs"

輸出:

{ "tags": [ { "Key": "Assembly", "Value": "Fact1NW" }, { "Key": "MyTag", "Value": "777" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的標記您的AWS IoT 資源

下列程式碼範例會示範如何使用list-targets-for-policy

AWS CLI

若要列出與 IoT 原則相關 AWS 聯的主參與者

下列list-targets-for-policy範例會列出已附加指定原則的裝置憑證。

aws iot list-targets-for-policy \ --policy-name UpdateDeviceCertPolicy

輸出:

{ "targets": [ "arn:aws:iot:us-west-2:123456789012:cert/488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142", "arn:aws:iot:us-west-2:123456789012:cert/d1eb269fb55a628552143c8f96eb3c258fcd5331ea113e766ba0c82bf225f0be" ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

下列程式碼範例會示範如何使用list-targets-for-security-profile

AWS CLI

列出套用安全性設定檔的目標

下列list-targets-for-security-profile範例會列出已套用名為之 AWS IoT Device Defender 安全性設定檔PossibleIssue的目標。

aws iot list-targets-for-security-profile \ --security-profile-name Testprofile

輸出:

{ "securityProfileTargets": [ { "arn": "arn:aws:iot:us-west-2:123456789012:all/unregistered-things" }, { "arn": "arn:aws:iot:us-west-2:123456789012:all/registered-things" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用list-thing-groups-for-thing

AWS CLI

若要列出物件所屬的群組

下列list-thing-groups-for-thing範例會列出指定物件所屬的群組。

aws iot list-thing-groups-for-thing \ --thing-name MyLightBulb

輸出:

{ "thingGroups": [ { "groupName": "DeadBulbs", "groupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/DeadBulbs" }, { "groupName": "LightBulbs", "groupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/LightBulbs" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

下列程式碼範例會示範如何使用list-thing-groups

AWS CLI

若要列出您 AWS 帳戶中定義的物群組

下列describe-thing-group範例會列出您 AWS 帳戶中定義的所有物件群組。

aws iot list-thing-groups

輸出:

{ "thingGroups": [ { "groupName": "HalogenBulbs", "groupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/HalogenBulbs" }, { "groupName": "LightBulbs", "groupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/LightBulbs" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

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

下列程式碼範例會示範如何使用list-thing-principals

AWS CLI

欲列出與物件相關聯的主參與者

下列list-thing-principals範例列出與指定物件相關聯的主體 (X.509 憑證、IAM 使用者、群組、角色、Amazon Cognito 身分或聯合身分)。

aws iot list-thing-principals \ --thing-name MyRaspberryPi

輸出:

{ "principals": [ "arn:aws:iot:us-west-2:123456789012:cert/33475ac865079a5ffd5ecd44240640349293facc760642d7d8d5dbb6b4c86893" ] }

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

下列程式碼範例會示範如何使用list-thing-types

AWS CLI

若要列出已定義的物件類型

下列list-thing-types範例會顯示您 AWS 帳戶中定義之物件類型的清單。

aws iot list-thing-types

輸出:

{ "thingTypes": [ { "thingTypeName": "LightBulb", "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb", "thingTypeProperties": { "thingTypeDescription": "light bulb type", "searchableAttributes": [ "model", "wattage" ] }, "thingTypeMetadata": { "deprecated": false, "creationDate": 1559772562.498 } } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物類型

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

下列程式碼範例會示範如何使用list-things-in-billing-group

AWS CLI

若要列出帳單群組中的項目

下列list-things-in-billing-group範例會列出指定帳單群組中的項目。

aws iot list-things-in-billing-group \ --billing-group-name GroupOne

輸出:

{ "things": [ "MyOtherLightBulb", "MyLightBulb" ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的計費群組

下列程式碼範例會示範如何使用list-things-in-thing-group

AWS CLI

若要列出屬於群組的項目

下列list-things-in-thing-group範例會列出屬於指定物件群組的物件。

aws iot list-things-in-thing-group \ --thing-group-name LightBulbs

輸出:

{ "things": [ "MyLightBulb" ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

下列程式碼範例會示範如何使用list-things

AWS CLI

示例 1:列出註冊表中的所有內容

下列list-things範例會列出您 AWS 帳戶在 AWS IoT 登錄中定義的物件 (裝置)。

aws iot list-things

輸出:

{ "things": [ { "thingName": "ThirdBulb", "thingTypeName": "LightBulb", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/ThirdBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 2 }, { "thingName": "MyOtherLightBulb", "thingTypeName": "LightBulb", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyOtherLightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 3 }, { "thingName": "MyLightBulb", "thingTypeName": "LightBulb", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyLightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 1 }, { "thingName": "SampleIoTThing", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/SampleIoTThing", "attributes": {}, "version": 1 } ] }

範例 2:若要列出具有特定屬性的已定義物件

下列list-things範例會顯示具有名為屬性的物件清單wattage

aws iot list-things \ --attribute-name wattage

輸出:

{ "things": [ { "thingName": "MyLightBulb", "thingTypeName": "LightBulb", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyLightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 1 }, { "thingName": "MyOtherLightBulb", "thingTypeName": "LightBulb", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyOtherLightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 3 } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南的如何使用登錄來管理物件

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

下列程式碼範例會示範如何使用list-topic-rule-destinations

AWS CLI

列出您的主題規則目的地

下列list-topic-rule-destinations範例會列出您在目前「 AWS 區域」中定義的所有主題規則目標。

aws iot list-topic-rule-destinations

輸出:

{ "destinationSummaries": [ { "arn": "arn:aws:iot:us-west-2:123456789012:ruledestination/http/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "status": "ENABLED", "httpUrlSummary": { "confirmationUrl": "https://example.com" } } ] }

如需詳細資訊,請參AWS IoT 開發人員指南中的使用主題規則目標。

下列程式碼範例會示範如何使用list-topic-rules

AWS CLI

列出您的規則

下列list-topic-rules範例會列出您已定義的所有規則。

aws iot list-topic-rules

輸出:

{ "rules": [ { "ruleArn": "arn:aws:iot:us-west-2:123456789012:rule/MyRPiLowMoistureAlertRule", "ruleName": "MyRPiLowMoistureAlertRule", "topicPattern": "$aws/things/MyRPi/shadow/update/accepted", "createdAt": 1558624363.0, "ruleDisabled": false }, { "ruleArn": "arn:aws:iot:us-west-2:123456789012:rule/MyPlantPiMoistureAlertRule", "ruleName": "MyPlantPiMoistureAlertRule", "topicPattern": "$aws/things/MyPlantPi/shadow/update/accepted", "createdAt": 1541458459.0, "ruleDisabled": false } ] }

如需詳細資訊,請參AWS IoT 開發人員指南中的檢視規則

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

下列程式碼範例會示範如何使用list-v2-logging-levels

AWS CLI

若要列出記錄層級

下列list-v2-logging-levels範例會列出設定的記錄層級。如果未設定記錄層級,則在執行此命令時NotConfiguredException會發生。

aws iot list-v2-logging-levels

輸出:

{ "logTargetConfigurations": [ { "logTarget": { "targetType": "DEFAULT" }, "logLevel": "ERROR" } ] }
  • 有關 API 的詳細信息,請參閱AWS CLI 命令參考LoggingLevels中的列表 V2

下列程式碼範例會示範如何使用list-violation-events

AWS CLI

列出期間內的安全設定檔違規

下列list-violation-events範例會針對目前 AWS 帳戶和 AWS 區域的所有 AWS IoT Device Defender 安全性設定檔,列出 2019 年 6 月 5 日至 2019 年 6 月 12 日之間發生的違規。

aws iot list-violation-events \ --start-time 1559747125 \ --end-time 1560351925

輸出:

{ "violationEvents": [ { "violationId": "174db59167fa474c80a652ad1583fd44", "thingName": "iotconsole-1560269126751-1", "securityProfileName": "Testprofile", "behavior": { "name": "Authorization", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 10 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } }, "metricValue": { "count": 0 }, "violationEventType": "in-alarm", "violationEventTime": 1560279000.0 }, { "violationId": "c8a9466a093d3b7b35cd44ca58bdbeab", "thingName": "TvnQoEoU", "securityProfileName": "Testprofile", "behavior": { "name": "CellularBandwidth", "metric": "aws:message-byte-size", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 128 }, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } }, "metricValue": { "count": 110 }, "violationEventType": "in-alarm", "violationEventTime": 1560276600.0 }, { "violationId": "74aa393adea02e6648f3ac362beed55e", "thingName": "iotconsole-1560269232412-2", "securityProfileName": "Testprofile", "behavior": { "name": "Authorization", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 10 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } }, "metricValue": { "count": 0 }, "violationEventType": "in-alarm", "violationEventTime": 1560276600.0 }, { "violationId": "1e6ab5f7cf39a1466fcd154e1377e406", "thingName": "TvnQoEoU", "securityProfileName": "Testprofile", "behavior": { "name": "Authorization", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 10 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } }, "metricValue": { "count": 0 }, "violationEventType": "in-alarm", "violationEventTime": 1560276600.0 } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用register-ca-certificate

AWS CLI

註冊憑證授權單位 (CA) 憑證

下列register-ca-certificate範例會註冊 CA 憑證。此命令會提供 CA 憑證和金鑰驗證憑證,證明您擁有與 CA 憑證相關聯的私密金鑰。

aws iot register-ca-certificate \ --ca-certificate file://rootCA.pem \ --verification-cert file://verificationCert.pem

輸出:

{ "certificateArn": "arn:aws:iot:us-west-2:123456789012:cacert/f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467", "certificateId": "f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467" }

如需詳細資訊,請參閱 IoT API 參考中的註冊快取認證。AWS

下列程式碼範例會示範如何使用register-certificate

AWS CLI

註冊自我簽署裝置憑證

下列register-certificate範例會註冊 rootCA.pem CA 憑證所簽署的deviceCert.pem裝置憑證。CA 憑證必須先註冊,才能使用它來註冊自我簽署的裝置憑證。自我簽署憑證必須使用您傳遞至此命令的相同 CA 憑證來簽署。

aws iot register-certificate \ --certificate-pem file://deviceCert.pem \ --ca-certificate-pem file://rootCA.pem

輸出:

{ "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142", "certificateId": "488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142" }

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

下列程式碼範例會示範如何使用register-thing

AWS CLI

若要註冊物件

下列register-thing範例會使用佈建範本註冊物件。

aws iot register-thing \ --template-body '{"Parameters":{"ThingName":{"Type":"String"},"AWS::IoT::Certificate::Id":{"Type":"String"}},"Resources": {"certificate":{"Properties":{"CertificateId":{"Ref":"AWS::IoT::Certificate::Id"},"Status":"Active"},"Type":"AWS::IoT::Certificate"},"policy":{"Properties":{"PolicyName":"MyIotPolicy"},"Type":"AWS::IoT::Policy"},"thing":{"OverrideSettings":{"AttributePayload":"MERGE","ThingGroups":"DO_NOTHING","ThingTypeName":"REPLACE"},"Properties":{"AttributePayload":{},"ThingGroups":[],"ThingName":{"Ref":"ThingName"},"ThingTypeName":"VirtualThings"},"Type":"AWS::IoT::Thing"}}}' \ --parameters '{"ThingName":"Register-thing-trial-1","AWS::IoT::Certificate::Id":"799a9ea048a1e6aea42b55EXAMPLEf8697b4bafcd77a318a3068e30404b9233c"}'

輸出:

{ "certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgIUYLk81I35cIppobpw HiOJ2jNjboIwDQYJKoZIhvcNAQEL\nBQAwTTFLMEkGA1UECwxCQW1hem9uIFdlYiBTZXJ2aWNlcyBPPUFtYXpvbi 5jb20g\nSW5jLiBMPVNlYXR0bGUgU1Q9V2FzaGluZ3RvbiBDPVVTMB4XDTIwMDcyMzE2NDUw\nOVoXDTQ5MTIzMT IzNTk1OVowHjEcMBoGA1UEAwwTQVdTIElvVCBDZXJ0aWZpY2F0\nZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAO71uADhdBajqTmgrMV5\nmCFfBZQRMo1MdtVoZr2X+M4MzL+RARrtUzH9a2SMAckeX8KeblIOTKzORI RDXnyE\n6lVOwjgAsd0ku22rFxex4eG2ikha7pYYkvuToqA7L3TxItRvfKrxRI4ZfJoFPip4\nKqiuBJVNOGKTcQ Hd1RNOrddwwu6kFJLeKDmEXAMPLEdUF0N+qfR9yKnZQkm+g6Q2\nGXu7u0W3hn6nlRN8qVoka0uW12p53xM7oHVz Gf+cxKBxlbOhGkp6yCfTSkUBm3Sp\n9zLw35kiHXVm4EVpwgNlnk6XcIGIkw8a/iy4pzmvuGAANY1/uU/zgCjymw ZT5S30\nBV0CAwEAAaNgMF4wHwYDVR0jBBgwFoAUGx0tCcU3q2n1WXAuUCv6hugXjKswHQYD\nVR0OBBYEFOVtvZ 9Aj2RYFnkX7Iu01XTRUdxgMAwGA1UdEwEB/wQCMAAwDgYDVR0P\nAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IB AQCXCQcpOtubS5ftOsDMTcpP/jNX\nDHyArxmjpSc2aCdmm7WX59lTKWyAdxGAvqaDVWqTo0oXI7tZ8w7aINlGi5 pXnifx\n3SBebMUoBbTktrC97yUaeL025mCFv8emDnTR/fE7PTsBKjW0g/rrfpwBxZLXDFwN\nnqkQjy3EDfifj2 6j0xYIqqWMPogyn4srOCKynS5wMJuQZlHQOnabVwnwK4Y0Mflp\np9+4susFUR9aT3BT1AcIwqSpzhlKhh4Iz7ND kRn4amsUT210jg/zOO1Ow+BTHcVQ\nJly8XDu0CWSu04q6SnaBzHmlySIajxuRTP/AdfRouP1OXe+qlbPOBcvVvF 8o\n-----END CERTIFICATE-----\n", "resourceArns": { "certificate": "arn:aws:iot:us-west-2:571032923833:cert/799a9ea048a1e6aea42b55EXAMPLEf8697b4bafcd77a318a3068e30404b9233c", "thing": "arn:aws:iot:us-west-2:571032923833:thing/Register-thing-trial-1" } }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的受信任使用者佈建

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

下列程式碼範例會示範如何使用reject-certificate-transfer

AWS CLI

拒絕憑證轉移

下列reject-certificate-transfer範例會拒絕從另一個 AWS 帳戶傳輸指定的裝置憑證。

aws iot reject-certificate-transfer \ --certificate-id f0f33678c7c9a046e5cc87b2b1a58dfa0beec26db78addd5e605d630e05c7fc8

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的將憑證轉移到其他帳戶

下列程式碼範例會示範如何使用remove-thing-from-billing-group

AWS CLI

若要從帳單群組移除項目

下列remove-thing-from-billing-group範例會從帳單群組移除指定的物件。

aws iot remove-thing-from-billing-group \ --billing-group-name GroupOne \ --thing-name MyOtherLightBulb

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的計費群組

下列程式碼範例會示範如何使用remove-thing-from-thing-group

AWS CLI

若要從物件群組移除物件

下列remove-thing-from-thing-group範例會從物件群組中移除指定的物件。

aws iot remove-thing-from-thing-group \ --thing-name bulb7 \ --thing-group-name DeadBulbs

此命令不會產生輸出。

如需詳細資訊,請參閱 < https://docs.aws.amazon.com/iot/latest/developerguide/thing-groups.html > AWS IoT 開發人員指南中的物件群組。

下列程式碼範例會示範如何使用replace-topic-rule

AWS CLI

更新主題的規則定義

下列replace-topic-rule範例會更新指定的規則,以便在土壤濕度讀數太低時傳送 SNS 警示。

aws iot replace-topic-rule \ --rule-name MyRPiLowMoistureAlertRule \ --topic-rule-payload "{\"sql\": \"SELECT * FROM '$aws/things/MyRPi/shadow/update/accepted' WHERE state.reported.moisture = 'low'\", \"description\": \"Sends an alert when soil moisture level readings are too low.\",\"actions\": [{\"sns\":{\"targetArn\":\"arn:aws:sns:us-west-2:123456789012:MyRPiLowMoistureTopic\",\"roleArn\":\"arn:aws:iam::123456789012:role/service-role/MyRPiLowMoistureTopicRole\",\"messageFormat\": \"RAW\"}}],\"ruleDisabled\": false,\"awsIotSqlVersion\":\"2016-03-23\"}"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立AWS IoT 規則

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

下列程式碼範例會示範如何使用search-index

AWS CLI

若要查詢物件索引

下列search-index範例會查詢具有類型之物件的AWS_Things索引LightBulb

aws iot search-index \ --index-name "AWS_Things" \ --query-string "thingTypeName:LightBulb"

輸出:

{ "things": [ { "thingName": "MyLightBulb", "thingId": "40da2e73-c6af-406e-b415-15acae538797", "thingTypeName": "LightBulb", "thingGroupNames": [ "LightBulbs", "DeadBulbs" ], "attributes": { "model": "123", "wattage": "75" }, "connectivity": { "connected": false } }, { "thingName": "ThirdBulb", "thingId": "615c8455-33d5-40e8-95fd-3ee8b24490af", "thingTypeName": "LightBulb", "attributes": { "model": "123", "wattage": "75" }, "connectivity": { "connected": false } }, { "thingName": "MyOtherLightBulb", "thingId": "6dae0d3f-40c1-476a-80c4-1ed24ba6aa11", "thingTypeName": "LightBulb", "attributes": { "model": "123", "wattage": "75" }, "connectivity": { "connected": false } } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的管理物件索引

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

下列程式碼範例會示範如何使用set-default-authorizer

AWS CLI

若要設定預設授權者

下列set-default-authorizer範例會將名為的自訂授權者設定CustomAuthorizer為預設授權者。

aws iot set-default-authorizer \ --authorizer-name CustomAuthorizer

輸出:

{ "authorizerName": "CustomAuthorizer", "authorizerArn": "arn:aws:iot:us-west-2:123456789012:authorizer/CustomAuthorizer" }

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

下列程式碼範例會示範如何使用set-default-policy-version

AWS CLI

若要設定原則的預設版本

下列set-default-policy-version範例會將名為之策略的2預設版本設定為UpdateDeviceCertPolicy

aws iot set-default-policy-version \ --policy-name UpdateDeviceCertPolicy \ --policy-version-id 2

此命令不會產生輸出。

下列程式碼範例會示範如何使用set-v2-logging-level

AWS CLI

若要設定物件群組的記錄層級

下列set-v2-logging-level範例會將記錄層級設定為記錄指定物件群組的警告。

aws iot set-v2-logging-level \ --log-target "{\"targetType\":\"THING_GROUP\",\"targetName\":\"LightBulbs\"}" \ --log-level WARN

此命令不會產生輸出。

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

下列程式碼範例會示範如何使用set-v2-logging-options

AWS CLI

若要設定記錄選項

下列set-v2-logging-options範例會將預設記錄詳細資訊層級設定為 ERROR,並指定要用於記錄的 ARN。

aws iot set-v2-logging-options \ --default-log-level ERROR \ --role-arn "arn:aws:iam::094249569039:role/service-role/iotLoggingRole"

此命令不會產生輸出。

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

下列程式碼範例會示範如何使用start-audit-mitigation-actions-task

AWS CLI

若要將緩解動作套用至稽核中的發現項目

下列start-audit-mitigation-actions-task範例會將ResetPolicyVersionAction動作 (清除策略) 套用至指定的單一發現項目。

aws iot start-audit-mitigation-actions-task \ --task-id "myActionsTaskId" \ --target "findingIds=[\"0edbaaec-2fe1-4cf5-abc9-d4c3e51f7464\"]" \ --audit-check-to-actions-mapping "IOT_POLICY_OVERLY_PERMISSIVE_CHECK=[\"ResetPolicyVersionAction\"]" \ --client-request-token "adhadhahda"

輸出:

{ "taskId": "myActionsTaskId" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 StartAuditMitigationActionsTask (緩解動作命令)

下列程式碼範例會示範如何使用start-on-demand-audit-task

AWS CLI

若要立即開始稽核

下列start-on-demand-audit-task範例會啟動 AWS IoT Device Defender 稽核,並執行三個憑證檢查。

aws iot start-on-demand-audit-task \ --target-check-names CA_CERTIFICATE_EXPIRING_CHECK DEVICE_CERTIFICATE_EXPIRING_CHECK REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK

輸出:

{ "taskId": "a3aea009955e501a31b764abe1bebd3d" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

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

AWS CLI

若要指定資源的標籤鍵和值

下列tag-resource範例會將含索引鍵Assembly與值的標籤套用Fact1NW至物件群組LightBulbs

aws iot tag-resource \ --tags Key=Assembly,Value="Fact1NW" \ --resource-arn "arn:aws:iot:us-west-2:094249569039:thinggroup/LightBulbs"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的標記您的AWS IoT 資源

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

下列程式碼範例會示範如何使用test-authorization

AWS CLI

若要測試您的 AWS IoT 原則

下列test-authorization範例會測試與指定主體相關聯的 AWS IoT 原則。

aws iot test-authorization \ --auth-infos actionType=CONNECT,resources=arn:aws:iot:us-east-1:123456789012:client/client1 \ --principal arn:aws:iot:us-west-2:123456789012:cert/aab1068f7f43ac3e3cae4b3a8aa3f308d2a750e6350507962e32c1eb465d9775

輸出:

{ "authResults": [ { "authInfo": { "actionType": "CONNECT", "resources": [ "arn:aws:iot:us-east-1:123456789012:client/client1" ] }, "allowed": { "policies": [ { "policyName": "TestPolicyAllowed", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/TestPolicyAllowed" } ] }, "denied": { "implicitDeny": { "policies": [ { "policyName": "TestPolicyDenied", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/TestPolicyDenied" } ] }, "explicitDeny": { "policies": [ { "policyName": "TestPolicyExplicitDenied", "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/TestPolicyExplicitDenied" } ] } }, "authDecision": "IMPLICIT_DENY", "missingContextValues": [] } ] }

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

下列程式碼範例會示範如何使用test-invoke-authorizer

AWS CLI

若要測試您的自訂授權者

下列test-invoke-authorizer範例會測試您的自訂授權者。

aws iot test-invoke-authorizer \ --authorizer-name IoTAuthorizer \ --token allow \ --token-signature "mE0GvaHqy9nER/FdgtJX5lXYEJ3b3vE7t1gEszc0TKGgLKWXTnPkb2AbKnOAZ8lGyoN5dVtWDWVmr25m7++zjbYIMk2TBvyGXhOmvKFBPkdgyA43KL6SiZy0cTqlPMcQDsP7VX2rXr7CTowCxSNKphGXdQe0/I5dQ+JO6KUaHwCmupt0/MejKtaNwiia064j6wprOAUwG5S1IYFuRd0X+wfo8pb0DubAIX1Ua705kuhRUcTx4SxUShEYKmN4IDEvLB6FsIr0B2wvB7y4iPmcajxzGl02ExvyCUNctCV9dYlRRGJj0nsGzBIXOI4sGytPfqlA7obdgmN22pkDzYvwjQ=="

輸出:

{ "isAuthenticated": true, "principalId": "principalId", "policyDocuments": [ "{"Version":"2012-10-17","Statement":[{"Action":"iot:Publish","Effect":"Allow","Resource":"arn:aws:iot:us-west-2:123456789012:topic/customauthtesting"}]}" ], "refreshAfterInSeconds": 600, "disconnectAfterInSeconds": 3600 }

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

下列程式碼範例會示範如何使用transfer-certificate

AWS CLI

將裝置憑證轉移到其他 AWS 帳戶

下列transfer-certificate範例會將裝置憑證傳輸到另一個 AWS 帳戶。憑證和 AWS 帳戶由 ID 識別。

aws iot transfer-certificate \ --certificate-id 488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142 \ --target-aws-account 030714055129

輸出:

{ "transferredCertificateArn": "arn:aws:iot:us-west-2:030714055129:cert/488b6a7f2acdeb00a77384e63c4e40b18b1b3caaae57b7272ba44c45e3448142" }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的將憑證轉移到其他帳戶

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

AWS CLI

若要從資源中移除標籤金鑰

下列untag-resource範例會從物件群組中移除標籤MyTag及其值LightBulbs

command

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的標記您的AWS IoT 資源

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

下列程式碼範例會示範如何使用update-account-audit-configuration

AWS CLI

範例 1:為稽核通知啟用 Amazon SNS 通知

下列update-account-audit-configuration範例會為 AWS IoT Device Defender 稽核通知啟用 Amazon SNS 通知,並指定用於寫入該目標的目標和角色。

aws iot update-account-audit-configuration \ --audit-notification-target-configurations "SNS={targetArn=\"arn:aws:sns:us-west-2:123456789012:ddaudits\",roleArn=\"arn:aws:iam::123456789012:role/service-role/AWSIoTDeviceDefenderAudit\",enabled=true}"

此命令不會產生輸出。

範例 2:啟用稽核檢查

下列update-account-audit-configuration範例會啟用名為的 AWS IoT Device Defender 稽核檢查AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK。如果稽核檢查是 AWS 帳號的一或多個已排程稽核targetCheckNames的一部分,則您無法停用該稽核檢查。

aws iot update-account-audit-configuration \ --audit-check-configurations "{\"AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK\":{\"enabled\":true}}"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

下列程式碼範例會示範如何使用update-audit-suppression

AWS CLI

更新稽核發現項目隱藏的步驟

下列update-audit-suppression範例會將稽核發現項目抑制的到期日更新為 2020-09-21。

aws iot update-audit-suppression \ --check-name DEVICE_CERTIFICATE_EXPIRING_CHECK \ --resource-identifier deviceCertificateId=c7691e<shortened> \ --no-suppress-indefinitely \ --expiration-date 2020-09-21

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核尋找抑制項目。

下列程式碼範例會示範如何使用update-authorizer

AWS CLI

若要更新自訂授權者

下面的update-authorizer例子,他狀態CustomAuthorizer2INACTIVE

aws iot update-authorizer \ --authorizer-name CustomAuthorizer2 \ --status INACTIVE

輸出:

{ "authorizerName": "CustomAuthorizer2", "authorizerArn": "arn:aws:iot:us-west-2:123456789012:authorizer/CustomAuthorizer2" }

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

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

下列程式碼範例會示範如何使用update-billing-group

AWS CLI

更新帳單群組的相關資訊

下列update-billing-group範例會更新指定帳單群組的說明。

aws iot update-billing-group \ --billing-group-name GroupOne \ --billing-group-properties "billingGroupDescription=\"Primary bulb billing group\""

輸出:

{ "version": 2 }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的計費群組

下列程式碼範例會示範如何使用update-ca-certificate

AWS CLI

更新憑證授權單位 (CA) 憑證

下列update-ca-certificate範例會將指定的 CA 憑證設定為作用中狀態。

aws iot update-ca-certificate \ --certificate-id f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467 \ --new-status ACTIVE

此命令不會產生輸出。

如需詳細資訊,請參閱 IoT API 參考資料中的 AWS UpdateCACertificate

下列程式碼範例會示範如何使用update-certificate

AWS CLI

更新裝置憑證

下列update-certificate範例會將指定的裝置憑證設定為非作用中狀態。

aws iot update-certificate \ --certificate-id d1eb269fb55a628552143c8f96eb3c258fcd5331ea113e766ba0c82bf225f0be \ --new-status INACTIVE

此命令不會產生輸出。

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

下列程式碼範例會示範如何使用update-custom-metric

AWS CLI

更新自訂量度

下列update-custom-metric範例會更新自訂量度,使其具有新的量度display-name

aws iot update-custom-metric \ --metric-name batteryPercentage \ --display-name 'remaining battery percentage on device' \ --region us-east-1

輸出:

{ "metricName": "batteryPercentage", "metricArn": "arn:aws:iot:us-east-1:1234564789012:custommetric/batteryPercentage", "metricType": "number", "displayName": "remaining battery percentage on device", "creationDate": "2020-11-17T23:01:35.110000-08:00", "lastModifiedDate": "2020-11-17T23:02:12.879000-08:00" }

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的自訂指

下列程式碼範例會示範如何使用update-dimension

AWS CLI

更新標註的步驟

下列update-dimension範例會更新維度。

aws iot update-dimension \ --name TopicFilterForAuthMessages \ --string-values device/${iot:ClientId}/auth

輸出:

{ "name": "TopicFilterForAuthMessages", "lastModifiedDate": 1585866222.317, "stringValues": [ "device/${iot:ClientId}/auth" ], "creationDate": 1585854500.474, "type": "TOPIC_FILTER", "arn": "arn:aws:iot:us-west-2:1234564789012:dimension/TopicFilterForAuthMessages" }

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的使用維度在安全性設定檔中設定指標的範圍

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

下列程式碼範例會示範如何使用update-domain-configuration

AWS CLI

更新網域組態

下列update-domain-configuration範例會停用指定的網域組態。

aws iot update-domain-configuration \ --domain-configuration-name "additionalDataDomain" \ --domain-configuration-status "DISABLED"

輸出:

{ "domainConfigurationName": "additionalDataDomain", "domainConfigurationArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/additionalDataDomain/dikMh" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的可配置端點

下列程式碼範例會示範如何使用update-dynamic-thing-group

AWS CLI

更新動態物群組

下列update-dynamic-thing-group範例會更新指定的動態物件群組。它會提供描述並更新查詢字串,以變更群組成員資格條件。

aws iot update-dynamic-thing-group \ --thing-group-name "RoomTooWarm" --thing-group-properties "thingGroupDescription=\"This thing group contains rooms warmer than 65F.\"" \ --query-string "attributes.temperature>65"

輸出:

{ "version": 2 }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的動態物件群組

下列程式碼範例會示範如何使用update-event-configurations

AWS CLI

若要顯示已發佈的事件類型

下列update-event-configurations範例會更新組態,以便在新增、更新或刪除 CA 憑證時啟用訊息。

aws iot update-event-configurations \ --event-configurations "{\"CA_CERTIFICATE\":{\"Enabled\":true}}"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的事件訊息

下列程式碼範例會示範如何使用update-indexing-configuration

AWS CLI

若要啟用物件索引

下列update-indexing-configuration範例會啟用物件索引,以支援使用 AWS_Things 索引來搜尋登錄資料、陰影資料及物件連線狀態。

aws iot update-indexing-configuration --thing-indexing-configuration thingIndexingMode=REGISTRY_AND_SHADOW,thingConnectivityIndexingMode=STATUS

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的管理物件索引

下列程式碼範例會示範如何使用update-job

AWS CLI

若要取得工作的詳細狀態

下列update-job範例會取得 ID 為之工作的詳細狀態example-job-01

aws iot describe-job \ --job-id "example-job-01"

輸出:

{ "job": { "jobArn": "arn:aws:iot:us-west-2:123456789012:job/example-job-01", "jobId": "example-job-01", "targetSelection": "SNAPSHOT", "status": "IN_PROGRESS", "targets": [ "arn:aws:iot:us-west-2:123456789012:thing/MyRaspberryPi" ], "description": "example job test", "presignedUrlConfig": {}, "jobExecutionsRolloutConfig": {}, "createdAt": 1560787022.733, "lastUpdatedAt": 1560787026.294, "jobProcessDetails": { "numberOfCanceledThings": 0, "numberOfSucceededThings": 0, "numberOfFailedThings": 0, "numberOfRejectedThings": 0, "numberOfQueuedThings": 1, "numberOfInProgressThings": 0, "numberOfRemovedThings": 0, "numberOfTimedOutThings": 0 }, "timeoutConfig": {} } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和管理工作 (CLI)

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

下列程式碼範例會示範如何使用update-mitigation-action

AWS CLI

若要更新緩和動作

下列update-mitigation-action範例會更新名為的指定緩和措施動作AddThingsToQuarantineGroupAction、變更物件群組名稱,並將其設定overrideDynamicGroupsfalse。您可以使用describe-mitigation-action指令驗證變更。

aws iot update-mitigation-action \ --cli-input-json "{ \"actionName\": \"AddThingsToQuarantineGroupAction\", \"actionParams\": { \"addThingsToThingGroupParams\": {\"thingGroupNames\":[\"QuarantineGroup2\"],\"overrideDynamicGroups\": false}}}"

輸出:

{ "actionArn": "arn:aws:iot:us-west-2:123456789012:mitigationaction/AddThingsToQuarantineGroupAction", "actionId": "2fd2726d-98e1-4abf-b10f-09465ccd6bfa" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 UpdateMitigationAction (緩解動作命令)

下列程式碼範例會示範如何使用update-provisioning-template

AWS CLI

更新佈建範本

下列update-provisioning-template範例會修改指定佈建範本的描述和角色 arn,並啟用範本。

aws iot update-provisioning-template \ --template-name widget-template \ --enabled \ --description "An updated provisioning template for widgets" \ --provisioning-role-arn arn:aws:iam::504350838278:role/Provision_role

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 核心開發人員指南中的AWS IoT 安全通道

下列程式碼範例會示範如何使用update-role-alias

AWS CLI

若要更新角色別名

下列update-role-alias範例會更新LightBulbRole角色別名。

aws iot update-role-alias \ --role-alias LightBulbRole \ --role-arn arn:aws:iam::123456789012:role/lightbulbrole-001

輸出:

{ "roleAlias": "LightBulbRole", "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/LightBulbRole" }

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

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

下列程式碼範例會示範如何使用update-scheduled-audit

AWS CLI

若要更新預約的稽核定義

下列update-scheduled-audit範例會變更 AWS IoT Device Defender 排程稽核的目標檢查名稱。

aws iot update-scheduled-audit \ --scheduled-audit-name WednesdayCertCheck \ --target-check-names CA_CERTIFICATE_EXPIRING_CHECK DEVICE_CERTIFICATE_EXPIRING_CHECK REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK

輸出:

{ "scheduledAuditArn": "arn:aws:iot:us-west-2:123456789012:scheduledaudit/WednesdayCertCheck" }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的稽核命令

下列程式碼範例會示範如何使用update-security-profile

AWS CLI

變更安全性設定檔

下列update-security-profile範例會更新 AWS IoT 裝置防禦者安全性設定檔的說明和行為。

aws iot update-security-profile \ --security-profile-name PossibleIssue \ --security-profile-description "Check to see if authorization fails 12 times in 5 minutes or if cellular bandwidth exceeds 128" \ --behaviors "[{\"name\":\"CellularBandwidth\",\"metric\":\"aws:message-byte-size\",\"criteria\":{\"comparisonOperator\":\"greater-than\",\"value\":{\"count\":128},\"consecutiveDatapointsToAlarm\":1,\"consecutiveDatapointsToClear\":1}},{\"name\":\"Authorization\",\"metric\":\"aws:num-authorization-failures\",\"criteria\":{\"comparisonOperator\":\"less-than\",\"value\":{\"count\":12},\"durationSeconds\":300,\"consecutiveDatapointsToAlarm\":1,\"consecutiveDatapointsToClear\":1}}]"

輸出:

{ "securityProfileName": "PossibleIssue", "securityProfileArn": "arn:aws:iot:us-west-2:123456789012:securityprofile/PossibleIssue", "securityProfileDescription": "check to see if authorization fails 12 times in 5 minutes or if cellular bandwidth exceeds 128", "behaviors": [ { "name": "CellularBandwidth", "metric": "aws:message-byte-size", "criteria": { "comparisonOperator": "greater-than", "value": { "count": 128 }, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } }, { "name": "Authorization", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "less-than", "value": { "count": 12 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 } } ], "version": 2, "creationDate": 1560278102.528, "lastModifiedDate": 1560352711.207 }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令

下列程式碼範例會示範如何使用update-stream

AWS CLI

更新串流

下列update-stream範例會更新現有的串流。流版本由 1 遞增。

aws iot update-stream \ --cli-input-json file://update-stream.json

update-stream.json 的內容:

{ "streamId": "stream12345", "description": "This stream is used for Amazon FreeRTOS OTA Update 12345.", "files": [ { "fileId": 123, "s3Location": { "bucket":"codesign-ota-bucket", "key":"48c67f3c-63bb-4f92-a98a-4ee0fbc2bef6" } } ] "roleArn": "arn:aws:iam:us-west-2:123456789012:role/service-role/my_ota_stream_role" }

輸出:

{ "streamId": "stream12345", "streamArn": "arn:aws:iot:us-west-2:123456789012:stream/stream12345", "description": "This stream is used for Amazon FreeRTOS OTA Update 12345.", "streamVersion": 2 }

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

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

下列程式碼範例會示範如何使用update-thing-group

AWS CLI

若要更新物件群組的定義

下列update-thing-group範例會更新指定物件群組的定義,並變更描述和兩個屬性。

aws iot update-thing-group \ --thing-group-name HalogenBulbs \ --thing-group-properties "thingGroupDescription=\"Halogen bulb group\", attributePayload={attributes={Manufacturer=AnyCompany,wattage=60}}"

輸出:

{ "version": 2 }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

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

下列程式碼範例會示範如何使用update-thing-groups-for-thing

AWS CLI

若要變更物件所屬的群組

下列update-thing-groups-for-thing範例會從名為的群組MyLightBulb中移除名為的物件,DeadBulbs並同時將其新增replaceableItems至名為的群組。

aws iot update-thing-groups-for-thing \ --thing-name MyLightBulb \ --thing-groups-to-add "replaceableItems" \ --thing-groups-to-remove "DeadBulbs"

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物件群組

下列程式碼範例會示範如何使用update-thing

AWS CLI

若要將物件與物件類型產生關聯

下列update-thing範例會將 AWS IoT 登錄中的物件與物件類型相關聯。建立關聯時,您會為物件類型定義的屬性提供值。

aws iot update-thing \ --thing-name "MyOtherLightBulb" \ --thing-type-name "LightBulb" \ --attribute-payload "{"attributes": {"wattage":"75", "model":"123"}}"

此命令不會產生輸出。使用describe-thing指令查看結果。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的物類型

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

下列程式碼範例會示範如何使用update-topic-rule-destination

AWS CLI

範例 1:啟用主題規則目標

下列update-topic-rule-destination範例會啟用主題規則目標的流量。

aws iot update-topic-rule-destination \ --arn "arn:aws:iot:us-west-2:123456789012:ruledestination/http/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --status ENABLED

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的啟用主題規則目標

範例 2:停用主題規則目標

下列update-topic-rule-destination範例會停用主題規則目標的流量。

aws iot update-topic-rule-destination \ --arn "arn:aws:iot:us-west-2:123456789012:ruledestination/http/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --status DISABLED

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的停用主題規則目標

範例 3:傳送新的確認訊息

下列update-topic-rule-destination範例會針對主題規則目標傳送新的確認訊息。

aws iot update-topic-rule-destination \ --arn "arn:aws:iot:us-west-2:123456789012:ruledestination/http/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --status IN_PROGRESS

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的傳送新確認訊息

下列程式碼範例會示範如何使用validate-security-profile-behaviors

AWS CLI

範例 1:驗證安全性設定檔的行為參數

下列validate-security-profile-behaviors範例會驗證 AWS IoT Device Defender 安全性設定檔的格式正確且正確的行為集。

aws iot validate-security-profile-behaviors \ --behaviors "[{\"name\":\"CellularBandwidth\",\"metric\":\"aws:message-byte-size\",\"criteria\":{\"comparisonOperator\":\"greater-than\",\"value\":{\"count\":128},\"consecutiveDatapointsToAlarm\":1,\"consecutiveDatapointsToClear\":1}},{\"name\":\"Authorization\",\"metric\":\"aws:num-authorization-failures\",\"criteria\":{\"comparisonOperator\":\"greater-than\",\"value\":{\"count\":12},\"durationSeconds\":300,\"consecutiveDatapointsToAlarm\":1,\"consecutiveDatapointsToClear\":1}}]"

輸出:

{ "valid": true, "validationErrors": [] }

範例 2:驗證安全性設定檔的不正確行為參數

下列validate-security-profile-behaviors範例會驗證包含 AWS IoT Device Defender 安全性設定檔錯誤的一組行為。

aws iot validate-security-profile-behaviors \ --behaviors "[{\"name\":\"CellularBandwidth\",\"metric\":\"aws:message-byte-size\",\"criteria\":{\"comparisonOperator\":\"greater-than\",\"value\":{\"count\":128},\"consecutiveDatapointsToAlarm\":1,\"consecutiveDatapointsToClear\":1}},{\"name\":\"Authorization\",\"metric\":\"aws:num-authorization-failures\",\"criteria\":{\"comparisonOperator\":\"greater-than\",\"value\":{\"count\":12},\"durationSeconds\":300,\"consecutiveDatapointsToAlarm\":100000,\"consecutiveDatapointsToClear\":1}}]"

輸出:

{ "valid": false, "validationErrors": [ { "errorMessage": "Behavior Authorization is malformed. consecutiveDatapointsToAlarm 100000 should be in range[1,10]" } ] }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的偵測命令