首页 > 解决方案 > AWSKinesisRecorder 获取未流式传输的记录

问题描述

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,即使设备上的互联网已关闭。

标签: iosaws-sdkamazon-kinesis

解决方案


不可能

似乎没有公共 API 可用于获取写入本地移动存储的记录,您也无法从 Kinesis 读取发送的记录。

其目的是以单向方式流式传输数据。

我必须创建另一个 API 来获取在服务器端接收到的记录的详细信息,并且必须依靠 Kinesis 来确保每条记录都 100% 安全地写入本地存储。所以,到目前为止,我还没有看到任何数据丢失。


推荐阅读