Azure Functions Blob 触发器替代方案

Azure Functions Blob Trigger Alternative

我正在尝试创建一些无服务器架构,但我担心在 blob 触发器上使用 Azure 函数。

我有 Azure Function 1,它是一个队列触发器,它获取一条消息 运行 一个请求 API 生成一个文件并将其放在 blob 存储中,该函数不等待以获得回应。然后我想创建一个 Azure Function 2,它将 blob/link 发送到第二个位置。但是,我正在阅读有关如何不能保证为每个 blob 触发 blob 触发器的信息,我相信“尽力而为”是他们在文档中使用的短语。

考虑到“尽力而为”的问题,我的第二个想法是让第一个函数等待响应,并在队列中放置一条消息以获取第二个函数的新版本,使用队列触发器而不是 blob 触发器.

我想知道让队列触发器 1 等待响应是否值得权衡,以及“尽力而为”的风险是否值得更改。或者如果有更好的设计,我很高兴听到。

感谢@peter bons

的建议

您可以使用事件网格而不是 Blob 存储触发器来在以下情况发生更改时获取通知: • Blob 存储帐户 • 大规模 • 最小化冷启动延迟

它内置了对来自存储 blob 和资源组的事件的支持。 为此,我们需要创建一个事件网格订阅,需要存储帐户和函数应用端点。

步骤:

  1. 登录到 Azure portal 并创建端点

  2. Create一个函数应用 因此,为了创建端点,我们将使用触发器类型为 Azure 事件网格触发器的 Function App。

  3. 在您拥有的存储帐户(如果没有创建一个)中,创建偶数网格订阅。

  1. 要监视文件何时上传到 Azure 存储,select 事件类型为 Blob 已创建。

  1. 通过单击 select 端点添加函数应用详细信息。

在 blob 中上传文件并注意通知。

有关详细信息,请参阅 this

其他参考资料:

  1. Azure Event Grid bindings for Azure Functions
  2. Automate resizing uploaded images using Event Grid