Azure队列使用python SDK接收:ValueError:无法将字符串转换为浮点:max age=31536000
现在我正在学习如何使用python使用Azure处理实时数据。代码如下:Azure队列使用python SDK接收:ValueError:无法将字符串转换为浮点:max age=31536000,python,azure,Python,Azure,现在我正在学习如何使用python使用Azure处理实时数据。代码如下: from azure.servicebus import ServiceBusService from azure.servicebus import Message import traceback api_key = {'namespace': '###', 'policy_name': '####', 'policy_secret': '#####' } sbs = Se
from azure.servicebus import ServiceBusService
from azure.servicebus import Message
import traceback
api_key = {'namespace': '###',
'policy_name': '####',
'policy_secret': '#####'
}
sbs = ServiceBusService(api_key["namespace"], shared_access_key_name=api_key["policy_name"], shared_access_key_value=api_key["policy_secret"])
msg = Message('Hello World!')
while True:
sbs.send_queue_message('taskqueue', msg)
print 'sending done'
try:
msg_rcv = sbs.receive_queue_message('taskqueue', peek_lock=True)
if msg_rcv and msg_rcv.body:
print 'Message received: {0}'.format(msg_rcv.body)
msg_rcv.delete()
except Exception:
print traceback.print_exc()
发送部分工作正常,但我无法正确接收队列。回溯是:
Traceback (most recent call last):
File "queue_sending.py", line 35, in <module>
msg_rcv = sbs.receive_queue_message('taskqueue', peek_lock=True)
...
ValueError: could not convert string to float: max-age=31536000
回溯(最近一次呼叫最后一次):
文件“queue_sending.py”,第35行,在
msg_rcv=sbs.receive_queue_message('taskqueue',peek_lock=True)
...
ValueError:无法将字符串转换为浮点:最大年龄=31536000
我在谷歌上搜索了这个值错误。流行的答案是这是0.20.1版中的一个bug。但是myazure servicebus
的版本是0.21.1。因此,对于我所尝试的:
两者都不起作用。谁能给我一个提示,我哪里出错了?非常感谢 这确实在0.20.2中得到了修复(我做了修复:))。如果您100%确定0.21.1中存在此错误,请在中创建一个问题,并提供完整的stacktrace和一些信息,如Python版本、操作系统等
(我拥有此软件包并在MS上工作)你说得对,这仍然是版本问题。我的默认python环境是Anaconda python 2.7,它的最新
azure服务版本是0.20.1。我在纯python 2.7下的虚拟环境中编译了代码,但我在全局环境下对其进行了测试。它导致了失败。现在我在virenv中测试代码,一切都运行良好。