首页 > 解决方案 > 有没有办法在 Azure 服务总线上发送带有 Python 主题和订阅的文件?

问题描述

总结问题:

我正在尝试在 Azure 服务总线上发送带有主题和订阅的 CSV 文件。我在这里遵循官方快速入门,并成功连接了 ASB 并打印了消息。我要做的下一步是在 ASB 上发送 CSV 文件,以便侦听器复制文件。CSV 文件当前位于 docker 内。是否可以发送 CSV 文件?如果是这样,怎么做?非常感谢任何可以引导我走向正确方向的有用资源。

我试过的:

主题和订阅已由另一个团队创建。连接字符串只有发送和监听的权限。基本上只是遵循快速入门:

from azure.servicebus.control_client import ServiceBusService, Message, Topic, Rule, DEFAULT_RULE_NAME

conString = '<connection string>'  

azure_namespace = 'abc'
key_name = 'xyz'
key_value = '1q2w3e4r5t6y7u8i9o='

bus_service = ServiceBusService(
    service_namespace=azure_namespace,
    shared_access_key_name=key_name,
    shared_access_key_value=key_value)
    
conTopic = 'mytopic'
conSubscription = 'mysubscription'

# send message to a topic 
for i in range(5):
    msg = Message('Msg {0}'.format(i).encode('utf-8'))
    bus_service.send_topic_message(conTopic, msg)
    
# receive messages from a subscription 
msg = bus_service.receive_subscription_message(conTopic, conSubscription)
print(msg.body) 

谢谢大家的帮助

编辑:

好吧,在进行了一些挖掘之后,Blob Storage 是一种尝试的方式。是在 SO 上发布的另一个问题,以供将来参考。

标签: pythonazureazureservicebus

解决方案


这不是适合它的服务。服务总线上的消息有大小限制。您可以做的是将文件添加到 Blob 存储,然后使用文件名或路径将消息添加到服务总线


推荐阅读