Amazon web services Can';对于boto3中的运动,无法获得AT_时间戳迭代器
我正在尝试使用这段Python代码(使用boto3)获取碎片迭代器: 但出现以下错误: 调用时发生错误(InvalidArgumentException) GetShardIterator操作:无法设置timestampInMillis参数 大于当前时间戳单位毫秒。时间单位毫秒: 1488245410000,currentTimestampInMillis:1488245353431 我不确定Kinesis如何定义Amazon web services Can';对于boto3中的运动,无法获得AT_时间戳迭代器,amazon-web-services,boto3,amazon-kinesis,Amazon Web Services,Boto3,Amazon Kinesis,我正在尝试使用这段Python代码(使用boto3)获取碎片迭代器: 但出现以下错误: 调用时发生错误(InvalidArgumentException) GetShardIterator操作:无法设置timestampInMillis参数 大于当前时间戳单位毫秒。时间单位毫秒: 1488245410000,currentTimestampInMillis:1488245353431 我不确定Kinesis如何定义currentTimestampInMillis。不知何故,它总是比我在Pytho
currentTimestampInMillis
。不知何故,它总是比我在Python中从time.time()
获得的时间晚66秒以上。因此,我必须将-10
更改为-76
,以获得迭代器
我在谷歌上搜索了一下,但似乎找不到以前出现过的任何问题
我还搜索了大约currentTimestampInMillis
,希望找到一种检索其值的方法。但是没有这样的信息
感谢您的帮助 我在java中遇到了同样的问题。似乎您必须知道最后一条记录何时到达,并将其作为时间戳或以前的日期。我认为最好的方法是处理错误,并将其作为迭代器用户代码的“未找到新记录”。
# read data between 10 seconds ago and now
start_timestamp = int(time.time()) - 10
client.get_shard_iterator(
StreamName='stream-name',
ShardId=shard_id,
ShardIteratorType='AT_TIMESTAMP',
Timestamp=start_timestamp,
)['ShardIterator']