Получение ошибки при инициализации устройства с использованием индекса парка с помощью команды aws iot - PullRequest
0 голосов
/ 14 июля 2020

Это мой образец шаблона подготовки:

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

...