对于以下代码,我收到“超出分片的速率...”错误。
from boto import kinesis
import time
kinesis = kinesis.connect_to_region('us-east-1')
response = kinesis.describe_stream('BenTest')
if response['StreamDescription']['StreamStatus'] == 'ACTIVE':
print '[x] Stream is active'
shards = response['StreamDescription']['Shards']
for shard in shards:
shard_id = shard['ShardId']
print "[x] Shard ID: %s" % shard_id
shard_it = kinesis.get_shard_iterator('BenTest', shard_id, 'LATEST')['ShardIterator']
print "[x] Shard iterator: %s" % shard_it
while True:
out = kinesis.get_records(shard_it, limit=2)
shard_it = out["NextShardIterator"]
for o in out['Records']:
print "[x] %s" % o['Data']
time.sleep(0.5)
第一次get_records
来电似乎有误。
我做错了什么?
答案 0 :(得分:1)
unindent time.sleep(0.5)一级。当没有数据可用时,你会像疯了一样调查api。