You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Azure队列消息的insertion_time?解决属性错误问题

解决Azure队列消息插入时间获取失败的问题

问题原因

你调用peek_messages()方法时,默认返回的QueueMessage对象不会携带插入时间这类元数据,必须显式指定要获取的消息属性,否则就会触发AttributeError。另外你的代码里存在拼写错误:get_queue_cliente应该是get_queue_client。

修正方案

调用peek_messages时,通过message_attributes参数指定要获取InsertionTime属性,之后从message.properties字典中提取插入时间值。

修正后的代码

queue_service = QueueServiceClient(storage_url, credential)
queue_client = queue_service.get_queue_client(queue_name)  # 修正拼写错误
# 指定要获取插入时间属性
messages = queue_client.peek_messages(message_attributes=['insertion_time'])

if messages:
    for message in messages:
        # 从properties字典中获取插入时间
        insertion_time = message.properties.get('insertion_time')
        print(insertion_time)
else:
    print("Empty list")

补充说明

  • message_attributes参数接受一个列表,可指定的属性包括insertion_time、expiration_time、dequeue_count等
  • 获取到的insertion_time是datetime对象,可直接用于计算消息停留时长(比如用当前时间减去插入时间)

内容的提问来源于stack exchange,提问作者Gabriel Fleming

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 19:17:37