Я пытаюсь добавить registrationConfig для моего сертификата CA в AWS IoT. Я хотел бы сделать некоторые манипуляции с данными для атрибутов Thing. Но я не могу заставить этот JITP работать, если в теле шаблона есть Fn :: Join.
Ниже приведен фрагмент тела шаблона (строка неэкранирована для чтения)
НЕ работает:
"Resources": {
"thing": {
"Type": "AWS::IoT::Thing",
"Properties": {
"ThingName": {
"Ref": "AWS::IoT::Certificate::CommonName"
},
"ThingTypeName" : "w2-device",
"ThingGroups" : ["w2-devices"],
"AttributePayload": {
"location": {
"Fn::Join":["",["ThingPrefix_",{"Ref":"SerialNumber"}]]
},
"organization": {
"Ref": "AWS::IoT::Certificate::Organization"
},
"version": "w2",
"country": {
"Ref": "AWS::IoT::Certificate::Country"
}
}
}
},
В приведенном выше, когда у меня есть Fn::Join
в AttributePayload / location, он не может создать Thing во время JITP. Я также не вижу никаких ошибок в CloudWatch.
Работает:
"Resources": {
"thing": {
"Type": "AWS::IoT::Thing",
"Properties": {
"ThingName": {
"Ref": "AWS::IoT::Certificate::CommonName"
},
"ThingTypeName" : "w2-device",
"ThingGroups" : ["w2-devices"],
"AttributePayload": {
"location": {
"Ref": "AWS::IoT::Certificate::StateName"
},
"organization": {
"Ref": "AWS::IoT::Certificate::Organization"
},
"version": "w2",
"country": {
"Ref": "AWS::IoT::Certificate::Country"
}
}
}
},
Примечание: я также спрашивал об этом на aws форуме , но без ответа там еще.