有没有办法在 Azure 服务总线上发送带有 Python 主题和订阅的文件?

lia*_*uma 1 python azure azureservicebus

总结一下问题:

我正在尝试在 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) 
Run Code Online (Sandbox Code Playgroud)

谢谢大家的帮助

编辑:

经过一番挖掘后,Blob 存储是一种尝试的方法。是发布在 SO 上的另一个问题,以供将来参考。

Thi*_*dio 5

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