跳转到主要内容

将事件发布到RabbitMQ作为avro数据集的混合件

项目描述

作为Avro数据集发布消息的AMQP发布混合件。

Version Downloads

安装

sprockets.mixins.avro-publisher 可在 Python包索引 中找到,可以通过 pipeasy_install 进行安装。

pip install sprockets.mixins.avro-publisher

要求

  • sprockets.mixins.amqp>=3.0.0

  • fastavro>=0.10.1,<2.0.0

  • tornado>=6,<7

示例

此示例演示了 sprockets.mixins.avro-publisher 最基本的用法。

export AMQP_URL="amqp://user:password@rabbitmq_host:5672/%2f"
python my-example-app.py
from tornado import gen
from tornado import web
from sprockets.mixins import avro_publisher

def make_app(**settings):
    settings = {'avro_schema_uri_format': 'http://my-schema-repository/%(name)s.avsc'}
    application = web.Application(
        [
            web.url(r'/', RequestHandler),
        ], **settings)

    avro_publisher.install(application)
    return application

class RequestHandler(avro_publisher.PublishingMixin, web.RequestHandler):

    async def get(self, *args, **kwargs):
        body = {'request': self.request.path, 'args': args, 'kwargs': kwargs}
        await self.avro_amqp_publish(
            'exchange',
            'routing.key',
            'avro-schema-name'
            body)

if __name__ == "__main__":
    application = make_app()
    application.listen(8888)
    logging.basicConfig(level=logging.INFO)
    ioloop.IOLoop.current().start()

源代码

sprockets.mixins.avro-publisher 源代码可在 Github 上找到,网址为 https://github.com/sprockets/sprockets.mixins.avro-publisher

许可证

sprockets.mixins.avro-publisher3-Clause BSD许可证 下发布。

项目详情


下载文件

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

源代码分发

sprockets.mixins.avro-publisher-3.0.1.tar.gz (9.3 kB 查看哈希值)

上传时间 源代码

由以下提供支持