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

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

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

AWS IoT 使用 的範例 AWS CLI

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

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

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

主題

動作

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

AWS CLI

若要接受從不同 AWS 帳戶轉移的裝置憑證

下列accept-certificate-transfer範例接受從另一個 AWS 帳戶轉移的裝置憑證。憑證會以其 ID 識別。

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

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

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的將憑證轉移到另一個帳戶

下列程式碼範例示範如何使用 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 開發人員指南中的將 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範例會取消指定憑證傳輸的傳輸。憑證由憑證 ID 識別。您可以在 AWS IoT 主控台中找到憑證的 ID。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的將憑證轉移至另一個帳戶

下列程式碼範例示範如何使用 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

此命令不會產生輸出。

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

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

AWS CLI

確認主題規則目的地

下列confirm-topic-rule-destination範例使用 HTTP 端點收到的確認字符來確認主題規則目的地。

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

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

  • 如需 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>" }

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

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

AWS CLI

建立裝置發佈至 Device Defender 的自訂指標

下列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 Core 開發人員指南中的自訂指標

下列程式碼範例示範如何使用 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範例會建立服務類型為 的受 AWS管網域組態DATA

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範例會建立將 JSON 文件傳送至MyRaspberryPi裝置的簡單 AWS IoT 任務。

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 iot create-job --job-id "example-job-04" --targets "arn:aws:iot:us-west-2:123456789012:thinggroup/DeadBulbs" --document file://example-job.json --description "example continuous job" --target-selection CONTINUOUS

輸出:

{ "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 金鑰對並發出 X.509 憑證

以下內容create-keys-and-certificate會建立 2048 位元 RSA 金鑰對,並使用發行的公有金鑰發出 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" } }

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的建立和註冊 IoT 裝置憑證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 Word更新的一部分,可讓您將新的韌體映像部署到單一裝置或一組裝置。

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

如需詳細資訊,請參閱 IoT reateOTAUpdate 參考中的 CWordAWS IoT API

  • 如需 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 開發人員指南中的 IoT 政策AWS IoT

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

AWS CLI

建立 AWS IoT 政策

下列create-policy範例會建立名為 TemperatureSensorPolicy 的 AWS IoT 政策。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 開發人員指南中的 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 Core 開發人員指南中的由信任的使用者佈建

下列程式碼範例示範如何使用 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 Core 開發人員指南中的 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 Core 開發人員指南中的 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" }

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

  • 如需 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" }

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

  • 如需 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 開發人員指南中的建立 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範例會刪除 DEVICE_CERTIFICATE_EXPIRING_CHECK 的稽核調查結果抑制。

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 eleteCACertificate 參考中的 DWordAWS IoT API

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

AWS CLI

若要刪除裝置憑證

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

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

此命令不會產生輸出。

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

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 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 Core 開發人員指南中的自訂指標

下列程式碼範例示範如何使用 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範例additionalDataDomain會從 AWS 您的帳戶刪除名為 的網域組態。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 IoT eleteOTAUpdate 參考中的 DWordAWS IoT API

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

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

AWS CLI

刪除政策版本

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

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

此命令不會產生輸出。

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

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

AWS CLI

若要刪除政策

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

aws iot delete-policy --policy-name UpdateDeviceCertPolicy

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 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 Core 開發人員指南中的 IoT 安全通道AWS IoT

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

AWS CLI

若要刪除佈建範本

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

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

此命令不會產生輸出。

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

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

AWS CLI

若要刪除註冊 cod

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

此命令不會產生輸出。

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

  • 如需 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 delete-thing --thing-name "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

此命令不會產生輸出。

下列程式碼範例示範如何使用 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 開發人員指南中的稽核命令

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

下列程式碼範例示範如何使用 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 } }

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

下列程式碼範例示範如何使用 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 escribeCACertificate 參考中的 DWordAWS IoT API

下列程式碼範例示範如何使用 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 } } }

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

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

AWS CLI

取得 Device Defender 自訂指標的相關資訊

下列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 Core 開發人員指南中的自訂指標

下列程式碼範例示範如何使用 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" }

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

下列程式碼範例示範如何使用 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 開發人員指南中的偵測命令

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

下列程式碼範例示範如何使用 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 Trust Services (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 } }

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

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

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

AWS CLI

取得排程稽核的相關資訊

下列describe-scheduled-audit範例會取得名為 的 AWS IOT Device Defender 排程稽核的詳細資訊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" } }

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

  • 如需 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 開發人員指南中的物件類型

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

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

AWS CLI

顯示物件的詳細資訊

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

aws iot describe-thing --thing-name "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範例會將 TemperatureSensorPolicy 政策與 ARN 識別的裝置憑證分開。

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

列出 Device Defender 的 ML Detect Security Profile 訓練模型的狀態

下列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 個溫度感測器的 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 }

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

  • 如需 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 開發人員指南中的標題。

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

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

AWS CLI

擷取 OTA Update 的相關資訊

下列get-ota-update範例顯示指定 OTA Update 的詳細資訊。

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

如需詳細資訊,請參閱 IoT etOTAUpdate 參考中的 GWordAWS IoT API

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

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

AWS CLI

將符合查詢的彙總值分組為百分位數分組

您可以使用下列設定指令碼來建立代表 10 個溫度感測器的 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% 的符合查詢的值中。在下列輸出中,{"percent": 10.0, "value": 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 開發人員指南中的 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 開發人員指南中的 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設定為 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 開發人員指南中的標題。

下列程式碼範例示範如何使用 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 開發人員指南中的稽核命令

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

下列程式碼範例示範如何使用 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" } ] }

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

  • 如需 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 開發人員指南中的帳單群組

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

下列程式碼範例示範如何使用 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 } ] }

如需詳細資訊,請參閱 IoT ListCertificatesBy 參考中的 Word CAAWS IoT API

下列程式碼範例示範如何使用 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 Core 開發人員指南中的自訂指標

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

下列程式碼範例示範如何使用 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範例會列出 jobId 所指定的 AWS 帳戶中任務的所有任務執行。

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

如需詳細資訊,請參閱 IoT istOTAUpdates 參考中的 LWordAWS IoT API

  • 如需 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 } ] }

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

下列程式碼範例示範如何使用 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 開發人員指南中的 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 開發人員指南中的 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" ] }

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

下列程式碼範例示範如何使用 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 Core 開發人員指南中的 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 Core 開發人員指南中的 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" ] }

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

  • 如需 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 Device 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." } ] }

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

  • 如需 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 開發人員指南中的標記您的 IoT 資源AWS IoT

下列程式碼範例示範如何使用 list-targets-for-policy

AWS CLI

列出與 AWS IoT 政策相關聯的主體

下列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範例列出PossibleIssue套用名為 的 AWS IoT Device Defender 安全設定檔的目標。

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

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

下列程式碼範例示範如何使用 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" } ] }

下列程式碼範例示範如何使用 list-violation-events

AWS CLI

列出一段時間內的安全設定檔違規

下列list-violation-events範例列出在 2019 年 6 月 5 日至 2019 年 6 月 12 日之間,針對目前 AWS 帳戶和 AWS 區域的所有 AWS IoT Device Defender 安全設定檔發生的違規。

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 egisterCACertificate 參考中的 RWordAWS IoT API

下列程式碼範例示範如何使用 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" }

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

下列程式碼範例示範如何使用 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 Core 開發人員指南中的由信任的使用者佈建

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

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

AWS CLI

若要拒絕憑證轉移

下列reject-certificate-transfer範例會拒絕從另一個 AWS 帳戶轉移指定的裝置憑證。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT Core 開發人員指南中的將憑證轉移到另一個帳戶

下列程式碼範例示範如何使用 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

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的 內容群組 <https://docs.aws.amazon.com/iot/latest/developerguide/thingWord-groups.html >。

下列程式碼範例示範如何使用 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 開發人員指南中的建立 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" }

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

下列程式碼範例示範如何使用 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 命令參考中的 SetV2LoggingLevel

下列程式碼範例示範如何使用 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"

此命令不會產生輸出。

下列程式碼範例示範如何使用 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 開發人員指南中的標記您的 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": [] } ] }

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

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

下列程式碼範例示範如何使用 test-invoke-authorizer

AWS CLI

測試您的自訂授權方

下列test-invoke-authorizer範例testS您的自訂授權方。

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 }

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

下列程式碼範例示範如何使用 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 Core 開發人員指南中的將憑證轉移到另一個帳戶

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

AWS CLI

從資源中移除標籤金鑰

下列untag-resource範例會從物件群組 中移除標籤MyTag及其值LightBulbs

command

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IoT 開發人員指南中的標記您的 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" }

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

  • 如需 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 憑證設定為 ACTIVE 狀態。

aws iot update-ca-certificate \ --certificate-id f4efed62c0142f16af278166f61962501165c4f0536295207426460058cd1467 \ --new-status ACTIVE

此命令不會產生輸出。

如需詳細資訊,請參閱 IoT pdateCACertificate 參考中的 UWordAWS IoT API

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

AWS CLI

更新裝置憑證

下列update-certificate範例會將指定的裝置憑證設定為 INACTIVE 狀態。

aws iot update-certificate \ --certificate-id d1eb269fb55a628552143c8f96eb3c258fcd5331ea113e766ba0c82bf225f0be \ --new-status INACTIVE

此命令不會產生輸出。

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

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 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 Core 開發人員指南中的自訂指標

下列程式碼範例示範如何使用 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、變更物件群組名稱,並將 overrideDynamicGroups設定為 false。您可以使用 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範例會修改指定佈建範本的描述和角色,並啟用範本。

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 Core 開發人員指南中的 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" }

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

  • 如需 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 Device Defender 安全設定檔的描述和行為。

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範例會更新現有的串流。串流版本會遞增一個。

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 }

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

  • 如需 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會從名為 的群組中移除名為 的物件,DeadBulbsreplaceableItems同時將其新增至名為 的群組。

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 開發人員指南中的偵測命令