问题描述
总结问题:
我正在尝试在Azure Service Bus上发送包含主题和订阅的CSV文件。我正在遵循官方的快速入门here,并已成功将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进行尝试。 here是在SO上发布的另一个问题,以供将来参考。
解决方法
这不是适合的服务。服务总线上的消息有大小限制。您可以做的是将文件添加到Blob存储,然后向服务总线添加一条消息,其中包含文件名或路径