如何使用 Python 访问 Azure 中的队列消息?

Posted

技术标签:

【中文标题】如何使用 Python 访问 Azure 中的队列消息?【英文标题】:How can I access queue messages in Azure using Python? 【发布时间】:2019-12-06 11:44:10 【问题描述】:

队列中有一些数据要在我的 python 代码中访问。

我正在使用以下代码:

from azure.storage.queue import QueueService

queue_service = QueueService(account_name='', account_key='')

messages = queue_service.get_messages('queue', num_messages=5)

for message in messages:
    print(message.id)
    print(message.content)

但是内容的输出是一些编码消息的形式。

如何解码?

【问题讨论】:

【参考方案1】:

你可以使用print(base64.b64decode(message.content))

from azure.storage.queue import QueueService
import base64

queue_service = QueueService(account_name='', account_key='')

messages = queue_service.get_messages('queue', num_messages=5)

for message in messages:
    print(message.id)
    print(message.content)
    print(base64.b64decode(message.content))

【讨论】:

【参考方案2】:
from azure.storage.queue import QueueService, QueueMessageFormat
queue_service = QueueService(account_name=account_name, account_key=account_key)
#queue_service.encode_function = QueueMessageFormat.binary_base64decode
queue_service.decode_function = QueueMessageFormat.binary_base64decode
messages = queue_service.get_messages(...

【讨论】:

以上是关于如何使用 Python 访问 Azure 中的队列消息?的主要内容,如果未能解决你的问题,请参考以下文章

访问 Azure 存储帐户中的所有队列

Azure 存储 - 使用存储访问策略时限制 SAS 中的 IP

如何使用 python 快速将消息发送到 Azure 队列存储?

如何查看 Azure 服务总线队列中的所有消息?

如何使用 Python Azure Functions QueueTrigger 手动使消息出队?

Azure 服务总线中的数据库/缓存,用于在其他地方完成的队列中的作业