跳转到主要内容

带有记录聚合的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...)

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

kinesis_producer-0.2.1.tar.gz (6.4 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面