为什么我在Amazon Kinesis中为此代码收到“Rate Exceeded”错误

时间:2017-02-07 16:13:23

标签: python amazon-web-services amazon amazon-kinesis

对于以下代码,我收到“超出分片的速率...”错误。

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来电似乎有误。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

unindent time.sleep(0.5)一级。当没有数据可用时,你会像疯了一样调查api。