gpt4 book ai didi

Azure 事件网格函数触发器 - 试用期

转载 作者:行者123 更新时间:2023-12-03 20:52:43 26 4
gpt4 key购买 nike

我们有一个带有 Azure 事件网格主题的 Azure 设置,并且我们有一个 Azure 函数服务,其中包含大约 15 个函数,这些函数通过不同的前缀订阅该主题过滤器。 Azure Function Service 设置为基于消耗的资源,并且应该能够根据需要进行扩展。

每个订阅都设置为在放弃事件之前的最多 4 小时内尝试传送 10 次。到目前为止一切顺利,设置在大多数情况下都按预期工作。

在某些情况下,对于我们未知的情况,似乎事件网格主题无法将事件传递到不同的功能。我们可以看到,我们的死信存储填满了尚未传递的事件。

现在回答我的问题

从日志中我们可以看到各种事件未传递的原因。原因通常是结果:缓刑。我们无法从 Microsoft 找到任何有关这实际含义的信息。

此外,网格会发生故障,并在超时策略(4 小时)和传递尝试策略(10 次重试)之前将事件添加到死信日志中已超过。有时,功能服务处于空闲状态并且没有从网格接收任何事件。

各位好心人是否知道我们如何继续解决此问题?当出现错误消息“试用期”时,Grid 和 Funciton 应用程序之间发生了什么?我们注意到的一件事是,与传递的事件数量相比,从网格到我们的函数应用程序的连接数量相当高。除了事件网格之外,函数应用程序没有其他传入连接。

死信消息示例

[{
"id":"a40a1f02-5ec8-46c3-a349-aea6aaff646f",
"eventTime":"2020-06-02T17:45:09.9710145Z",
"eventType":"mitbalAdded",
"dataVersion":"1",
"metadataVersion":"1",
"topic":"/subscriptions/XXXXXXX/resourceGroups/XXXX_STAGING/providers/Microsoft.EventGrid/topics/XXXXXstaging",
"subject":"odl/type/mitbal/v1",
"deadLetterReason":"TimeToLiveExceeded",
"deliveryAttempts":6,
"lastDeliveryOutcome":"Probation",
"publishTime":"2020-06-02T17:45:10.1869491Z",
"lastDeliveryAttemptTime":"2020-06-02T19:30:10.5756332Z",
"data":"<?xml version=\"1.0\" encoding=\"utf-8\"?><Stock><Action>ADD</Action><Id>123456</Id><Store>123</Store><Shelf>1</Shelf></Stock>"
}]


函数服务指标

  • azure = 连接数(计数)
  • 红色 = 函数执行(计数)
  • 白色 = 请求(计数)

Stats

最佳答案

我不确定您是否已经解决了这里的问题,但这里有一些其他人在类似情况下的见解。

首先,试用期是目的地不健康时的结果,事件网格仍会尝试交付。

根据图表,函数似乎达到了 100 次执行标记,然后需要一段时间才能扩展到接下来的 100 次。您可以通过调整 host.json 设置来获得更好的结果,具体取决于每个函数执行的作用。

包括scale controller logs可以更多地了解横向扩展时内部发生的情况。

此外,另一种选择是将事件发送到 service busevent hubs首先,然后从那里运行一个函数。

关于Azure 事件网格函数触发器 - 试用期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62168348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com