总结问题:
我正在尝试在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存储是一种尝试的方式。这是SO上发布的另一个问题,以供将来参考。
这不是适合它的服务。服务总线上的消息有大小限制。您可以做的是将文件添加到Blob存储,然后将带有文件名或路径的消息添加到服务总线