AWSKinesisRecorder получает записи, которые не транслируются - PullRequest
0 голосов
/ 04 декабря 2018

В AWSKinesisRecorder ( здесь ), как мы можем проверить, были ли наши записи отправлены на сервер / дошли до AWS, или проверить, есть ли у нас записи надиск, который еще не отправлен ?

kinesisRecorder.submitAllRecords()?.continueOnSuccessWith(block: { (task: AWSTask<AnyObject>) -> Any? in
            if let error = task.error as NSError? {
                Logger.log(method: .error, "\(#function) \(#line) \(#file)", "Error: \(error)")
            }
            if let result = task.result {
                Logger.log(method: .info, "\(#function) \(#line) \(#file)", "Result: \(result)")
            }
            print("FINISHED AWSTask kinesisRecorder", task, task.error, task.isCompleted, task.isFaulted, task.isCancelled)
            return nil
        })

Блок завершения никогда не возвращает ошибку и task.result также не равен nil , даже еслина устройстве отключен интернет.

1 Ответ

0 голосов
/ 05 апреля 2019

Невозможно

Похоже, что нет общедоступного API, доступного для извлечения записей, записанных в локальное мобильное хранилище, а также вы не можете прочитать отправленные записи из Kinesis.

Его целью является потоковая передача данных однонаправленным способом.

Мне пришлось создать другой API, чтобы получать подробные данные о записях, полученных на стороне сервера, и полагаться на нихна Kinesis, что каждая запись на 100% безопасно записана на локальное хранилище. Итак, пока я не видел потери данных.

...