我正在使用 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# 中做到这一点?
您可以将其作为 CloudQueueMessage 检索,而不是将其作为字符串检索,其中将包含您要查找的元数据。例如
[QueueTrigger("...", Connection = "...")]CloudQueueMessage inputQueueItem
//...
var content = inputQueueItem.AsString;
var insertionTime = inputQueueItem.InsertionTime;