你有一个 Azure Event Grid 系统主题,它将事件传递到 Azure Function 上的 HTTPS 端点。有时,该端点会受到限制,导致事件丢失。你必须 (1) 捕获无法传递的事件,以便稍后在 blob 容器中进行检查,并且 (2) 在端点不健康时减少不必要的重试。你应该怎么做?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 配置事件订阅,使其具有指向 Azure 存储帐户中 blob 容器的死信目标。启用托管标识并授予其对存储帐户的 Storage Blob Data Contributor 角色。, 通过将 MaxDeliveryAttempts 和 EventTimeToLiveInMinutes 设置为适合你的端点恢复特征的值来配置事件订阅重试策略。.
为什么这是答案
要捕获无法传递的事件,应配置事件订阅的死信目标。将死信目标设置为 Azure 存储帐户中的 blob 容器,并使用托管标识授予其“Storage Blob Data Contributor”角色,可确保无法传递的事件被存储以供后续检查。这直接解决了问题 (1)。 要减少不必要的重试并在端点不健康时优化行为,应配置事件订阅的重试策略。通过调整 MaxDeliveryAttempts 和 EventTimeToLiveInMinutes,可以根据端点的恢复特性来控制 Event Grid 重试事件的次数和时间,从而避免在端点长时间不可用时进行无效的重试。这解决了问题 (2)。 其他选项不正确: Azure Function 的毒消息处理适用于 Function 内部处理失败,而不是 Event Grid 传递失败。 Event Hubs Capture 适用于 Event Hubs,与 Event Grid 系统主题无关。 使用 Service Bus 队列作为死信位置是可行的,但 blob 存储更适合长期存储和检查无法传递的事件,且是 Event Grid 死信的常见和推荐做法。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡