如何在 C# Azure Function 中获取队列消息的插入时间

问题描述 投票:0回答:1

我正在使用 C# 使用 QueueMessage 触发器创建 Azure 函数。我想获取队列消息的插入时间。

在运行该函数的代码中,我可以按照 Visual Studio 中模板的标准签名以字符串形式访问消息正文:

[QueueTrigger("url-content-300", Connection = "AzureWebJobsStorage")]string myQueueItem

但是我想获取消息的插入时间。

在 Python 模板中,它为我提供了整个消息队列对象,如下所示:

msg: func.QueueMessage

然后我可以将其反序列化为 Json 对象:

result = json.dumps({
    'id': msg.id,
    'body': msg.get_body().decode('utf-8'),
    'expiration_time': (msg.expiration_time.isoformat()
                        if msg.expiration_time else None),
    'insertion_time': (msg.insertion_time.isoformat()
                       if msg.insertion_time else None),
    'time_next_visible': (msg.time_next_visible.isoformat()
                          if msg.time_next_visible else None),
    'pop_receipt': msg.pop_receipt,
    'dequeue_count': msg.dequeue_count
})
insertionTime = result.insertion_time

如何在 C# 中做到这一点?

c# azure-functions
1个回答
4
投票

您可以将其作为 CloudQueueMessage 检索,而不是将其作为字符串检索,其中将包含您要查找的元数据。例如

[QueueTrigger("...", Connection = "...")]CloudQueueMessage inputQueueItem
//...
var content = inputQueueItem.AsString;
var insertionTime = inputQueueItem.InsertionTime;
© www.soinside.com 2019 - 2024. All rights reserved.