带有记录聚合的AWS Kinesis Stream生产者
项目描述
Python生产者,用于AWS Kinesis Stream并具有记录聚合功能。
它使用Boto 3,并在Python 2.7和3.4/3.5上进行测试。
安装
pip 安装 'kinesis_producer < 1'
注意:Kinesis Producer 使用 semver:您应该始终冻结在主版本,因为这可能意味着破坏 API。
用法
发送最多 100KB、200ms 的聚合记录,并用 '\n' 连接
from kinesis_producer import KinesisProducer
config = 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)
for record in records:
k.send(record)
k.close()
k.join()
配置
- aws_region:
Kinesis 调用的 AWS 区域(如 us-east-1)
- buffer_size_limit:
记录聚合的大致大小限制(以字节为单位)
- buffer_time_limit:
记录聚合的大致时间限制(以秒为单位)
- kinesis_concurrency:
设置 Kinesis 调用的并发级别。设置为 1 以无并发。设置为 2 及以上以使用线程池。
- kinesis_max_retries:
在放弃之前尝试 Kinesis put_records 调用的次数。如果您想处理暂时性的 ProvisionedThroughputExceeded 错误,此数字应在 4 到 10 之间。
- record_delimiter:
记录聚合的分隔符
- stream_name:
Kinesis 流的名称
Kinesis 重试
Kinesis 调用仅在 ProvisionedThroughputExceeded 错误时重试。重试使用指数退避逻辑(0.1s、0.2s、0.4s、0.8s、1.60s、3.20s、6.40s、12.80s、25.60s、51.20s、102.40s...)
版权和许可
在 MIT 许可下发布。
项目详情
关闭
kinesis_producer-0.2.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fbd819e802421a88537812c0dae170d2ebdfd12277af03b3ec51fd74a8b6c07a |
|
MD5 | 8be046a713ba40eef9734ced2d7cbc2c |
|
BLAKE2b-256 | 80466dbba56b6f038e90246b926fd01f384e5fbea3c32a048597c6f2e1d44611 |