具有记录聚合的aws kinisis流的生产者

kinesis-producer的Python项目详细描述


带有记录聚合的aws kinisis流的python producer。

它使用boto 3,并在python 2.7和3.4/3.5上进行了测试。

安装

pip install ‘kinesis_producer < 1’

注意:kinisis producer use semver:您应该始终冻结少校 因为它可能意味着破坏api。

用法

发送总计高达100kb、200ms并用“\n”连接的记录:

fromkinesis_producerimportKinesisProducerconfig=dict(aws_region='us-east-1',buffer_size_limit=100000,buffer_time_limit=0.2,kinesis_concurrency=1,kinesis_max_retries=10,record_delimiter='\n',stream_name='KINESIS_STREAM_NAME',)k=KinesisProducer(config=config)forrecordinrecords:k.send(record)k.close()k.join()

配置

aws_region:AWS region for Kinesis calls (like us-east-1)
buffer_size_limit:
Approximative size limit for record aggregation (in bytes)
buffer_time_limit:
Approximative time limit for record aggregation (in seconds)
kinesis_concurrency:
Set the concurrency level for Kinesis calls. Set to 1 for no concurrency. Set to 2 and more to use a thread pool.
kinesis_max_retries:
Number of Kinesis put_records call attempt before giving up. This number should be between 4 and 10 if you want to handle temporary ProvisionedThroughputExceeded errors.
record_delimiter:
Delimiter for record aggregation
stream_name:Name of the Kinesis Stream

动觉重试

为ProvisionedThroughputExceeded错误重试动态播放调用 只有。重试使用指数退避逻辑(0.1s、0.2s、0.4s、0.8s, 1.60秒、3.20秒、6.40秒、12.80秒、25.60秒、51.20秒、102.40秒……

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java编辑并重新运行spring引导单元测试,无需重新加载上下文即可加快测试速度   为什么我不能做演员?   java为什么是线程。join通常用于停止安卓中的线程   java从weblogic服务器调用JSON POST REST服务时收到400:错误请求   java在DeviceAdmin模式禁用时设置身份验证?   java SortedMap的keySet()能否始终安全地强制转换到SortedSet?   安卓 java。lang.NoSuchMethodException可包裹类   java JOGL库安装   javatomcat内存管理   java使用getString()中的变量   java将最小星号设置为评级栏   Java中字符串相等的println()方法。。。它到底是如何工作的?   java如何从文本中输出的数组中放入随机图像