Получение списка вещей в группе вещей или вещей из AWS IoT - PullRequest
0 голосов
/ 21 апреля 2020

Мне нужен список вещей в группе или список вещей из AWS, с которым я пытался найти решение из Справочник AWSIoT Так что я использовал приведенный ниже код, чтобы получить его. Раньше я получал его с помощью обычного вызова API из нашей бэкэнд-службы, но мне нужно полностью использовать с AWS.

   func initializeAWS() {

       let credentialsProvider = AWSCognitoCredentialsProvider(regionType:AWS_REGION,
                                                               identityPoolId:IDENTITY_POOL_ID)
       initializeControlPlane(credentialsProvider: credentialsProvider)

   }

   func initializeControlPlane(credentialsProvider: AWSCredentialsProvider) {

       let controlPlaneServiceConfiguration = AWSServiceConfiguration(region:AWS_REGION, credentialsProvider:credentialsProvider)

       AWSServiceManager.default().defaultServiceConfiguration = controlPlaneServiceConfiguration
       iot = AWSIoT.default()

       let request = AWSIoTListThingsInThingGroupRequest()
       request?.thingGroupName = "XXXGroupName"
       let output = iot.listThings(inThingGroup: request!)
       print("output is \(output.result)")
       print("error is \(output.error)")

   }

Я использовал здесь AWSIoT & AWSIoTListThingsInThingGroupRequest объект, чтобы получить список вещей Могу ли я знать, это правильный способ получить? если это я output и error оба объекта получают ноль.

Я пытался найти решение для примера AWS IOT от Github, я не получил никакого ответа на этот вопрос. Или в iotDataManager есть что-то, что даст список вещей? Пожалуйста, можете ли вы помочь мне в этом? Для получения дополнительной информации я поднял вопрос о AWS Github Получение списка вещей в группе вещей

1 Ответ

0 голосов
/ 22 апреля 2020

Я проверил, выводится ли уровень журнала. Все конфигурации также были правильными. Единственное, о чем я не знал, это как получить ответ, способ получить результат, как показано ниже.

let credentialsProvider = AWSCognitoCredentialsProvider(regionType:AWS_REGION,
                                                        identityPoolId:IDENTITY_POOL_ID)

let controlPlaneServiceConfiguration = AWSServiceConfiguration(region:AWS_REGION, credentialsProvider:credentialsProvider)

AWSServiceManager.default().defaultServiceConfiguration = controlPlaneServiceConfiguration
iot = AWSIoT.default()

let request = AWSIoTListThingsInThingGroupRequest()
request?.thingGroupName = "XXXGroupName"
let output = iot.listThings(inThingGroup: request!)

output.continueOnSuccessWith { (response) -> Any? in

    if let result = response.result, let things = result.things {
        self.awsDevices = things
        completionHandler(true)
    }
    return self.awsDevices

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...