我正在創建一個需要將多個設備連接到 AWS IoT 的應用程式,但我注意到只有最后一個連接的設備保持連接狀態。我看到我對所有設備都使用了相同的證書,在為每個設備創建證書后,問題就解決了,但事實證明這將是多個設備,并且逐個設備地注冊設備將是無效的。我想知道是否有解決方案可以讓多個設備同時保持與 aws iot 的連接,而不必一一注冊證書。
uj5u.com熱心網友回復:
這主要來自:https ://iot-device-management.workshop.aws/en/provisioning-options/bulk-provisioning.html 。
上面的鏈接還有其他選項(及時等...)。
創建批量事物注冊任務 要創建批量注冊任務,需要一個角色來授予訪問輸入檔案的權限。此角色已由 CloudFormation 創建,并且在研討會設定期間已將角色名稱復制到 shell 變數 $ARN_IOT_PROVISIONING_ROLE。
aws iot start-thing-registration-task \
--template-body file://~/templateBody.json \
--input-file-bucket $S3_BUCKET \
--input-file-key bulk.json --role-arn $ARN_IOT_PROVISIONING_ROLE
成功后,該命令會回傳一個 taskId。輸出類似于:
{
"taskId": "aaaf0a94-b5a9-4bd6-a1f5-cf188322a111"}
供應模板 https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html
預置模板是一個 JSON 檔案,它使用引數來描述您的設備與 AWS IoT 互動所必須使用的資源。模板包含兩個部分:引數和資源。AWS IoT 中有兩種型別的預置模板。一個用于即時供應 (JITP) 和批量注冊,第二個用于佇列供應。
用于創建配置模板的腳本
https://github.com/aws-samples/aws-iot-device-management-workshop/blob/master/bin/mk-bulk.sh
創建存盤桶
aws s3api create-bucket\
--bucket bulk-iot-test\
--region ap-northeast-1
上傳 bulk.json(如果使用 cloudshell)并復制到 S3
通過 UI 上傳 bulk.json
aws s3 cp bulk.json s3://bulk-iot-test
aws s3 ls s3://bulk-iot-test
創建角色以注冊事物
來自 CloudFormation 模板……這是不完整的,需要進一步完善。
"DMWSIoTServiceRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [ {
"Effect": "Allow",
"Principal": {
"Service": [ "iot.amazonaws.com" ]
},
"Action": [ "sts:AssumeRole" ]
} ]
},
"ManagedPolicyArns": [
"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration",
"arn:aws:iam::aws:policy/service-role/AWSIoTLogging",
"arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess"
],
"Path": "/"
}
},
啟動事物注冊任務
aws iot start-thing-registration-task \
--template-body file://~/templateBody.json \
--input-file-bucket bulk-iot-test \
--input-file-key bulk.json --role-arn "arn:aws:sts::ACCOUNTID:assumed-role/ROLE/[email protected]"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/459665.html
下一篇:用tomcat運行servlet
