Это мой образец шаблона подготовки:
{
"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": "Bulb_Core-Policy"
},
"Type": "AWS::IoT::Policy"
},
"thing": {
"OverrideSettings": {
"AttributePayload": "MERGE",
"ThingGroups": "DO_NOTHING",
"ThingTypeName": "REPLACE"
},
"Properties": {
"AttributePayload": {},
"ThingGroups": [],
"ThingName": {
"Fn::Join": [
"",
[
"test_",
{
"Ref": "SerialNumber"
}
]
]
},
"ThingTypeName": "Smart_Bulb"
},
"Type": "AWS::IoT::Thing"
}
}
}
Этот шаблон, который я использовал для массовой регистрации устройств:
{"SerialNumber": "001","AWS::IoT::Certificate::Id": "30e370360f9784d5adfdfd2bdda147e145871dea29e721553ef422783b1e4ee32e8"}
{"SerialNumber": "002","AWS::IoT::Certificate::Id": "30e370360f9784d5adfdfd2bdda147e145871dea29e721553ef422783b1e4ee32e8"}
Согласно aws do c, я копирую этот шаблон в мой s3 и используя команду ниже для регистрации этих двух устройств:
aws iot start-thing-registration-task --template-body file:///home/cmt01/awsiot/provisioning-template-sample.json --input-file-bucket test --input-file-key bulk-provisioning-data-sample.json --role-arn arn:aws:iam::874247670422:role/service-role/Bulb-Role
Вывод:
{
"taskId": "bdd956b0-3e47-4487-90a1-67e9b20812de"
}
Чтобы показать журналы:
aws iot list-thing-registration-task-reports --task-id "bdd956b0-3e47-4487-90a1-67e9b20812de" --report-type ERRORS
Я получаю эту ошибку:
{"errorMessage": "com.amazon aws .services.iot.model.ResourceRegistrationFailureException: выполнение рабочего процесса регистрации прекращается из-за: обнаружена 1 ошибка проверки: Значение '{Fn :: Join = [, [test_, {Ref = SerialNumber}]]}' в 'thingName' не удовлетворяет ограничению: член должен соответствовать шаблону регулярного выражения: [a-zA-Z0-9: _-] + (Сервис: AWSIot; Код состояния: 400; Код ошибки: ResourceRegistrationFailureException; Идентификатор запроса: 892481f0-c8f3-4cc5-ac12-fcc6f449e66d; Прокси-сервер: null) "," lineNumber ": 1," смещение ": 120," ответ " : null}