我们可以使用 Azure 存储队列作为事件源吗?
Posted
技术标签:
【中文标题】我们可以使用 Azure 存储队列作为事件源吗?【英文标题】:Can we use Azure storage Queue as an Event source? 【发布时间】:2021-07-14 08:07:49 【问题描述】:我们能否将 Azure 队列消息用作事件网格触发的 Azure 函数的事件源? 如果是这样,我们如何配置它。目前只有 Blob 存储在存储帐户中显示为事件源。
enter image description here
注意:我的要求是运行 azure 函数,每当新消息进入存储队列时。消息参数信息也要传递给 Azure 函数。
【问题讨论】:
为什么不使用queue trigger
?
答案是否定的。
使用队列触发器或逻辑应用,无需任何代码。它会工作
嗨,这个问题有更新吗?你检查我的答案了吗?
【参考方案1】:
目前,作为事件源的存储队列不可用。有些东西可以完全满足您的需求 => Azure 存储队列触发器。选择Azure Functions
中提到的模板,并提供您的存储队列名称和连接详细信息。该功能将自动使用您的存储帐户的连接字符串,并开始监控队列。每当有新消息到达时,就会触发您的函数。
这是处理传递给触发函数的消息的C#
示例:
public static class QueueTrigger
[FunctionName("QueueTrigger")]
public static void Run(
[QueueTrigger("myqueue-items")] string message, ILogger log)
log.LogInformation($"Here's the item: message");
注意:函数需要一个 base64 编码的字符串。对编码类型的任何调整(为了将数据准备为 base64 编码字符串)都需要在调用服务中实现。 Reference.
【讨论】:
【参考方案2】:查看此文档:
https://docs.microsoft.com/en-us/azure/event-grid/overview
队列存储不能作为事件网格的来源,所以答案是否定的。
正如弗兰克所说,您可以使用queue trigger,而不是使用队列存储作为事件源。
【讨论】:
以上是关于我们可以使用 Azure 存储队列作为事件源吗?的主要内容,如果未能解决你的问题,请参考以下文章