当前位置: 首页 > 知识库问答 >
问题:

事件网格、Azure Functions事件处理程序、EventGridTrigger行为

百里嘉泽
2023-03-14

我试图理解在Azure Function v2函数中使用EventGridTrigger时EventGrid的行为。此页面(在MS官方文档中)详细说明了与事件处理程序返回的状态代码相关的特定行为,但没有具体说明正在使用什么类型的事件处理程序。基于状态代码的使用,我只能假设它是用于webhook的。但是,Azure门户中的订阅配置具有Azure功能的事件处理程序。使用此事件处理程序时,如何从azure函数触发这些特定行为?此外,与标准的webhook事件处理程序相比,使用它有什么区别?我已经发现了几篇关于Azure函数事件处理程序提供的“附加功能”的文章,但我似乎找不到任何具体的文档。

共有1个答案

刘星火
2023-03-14

基本上,消息传递状态只能由终结点类型(如 WebHook 和 HybridConnection)以编程方式处理。

在EventGridTrigger的情况下,处理程序允许仅在重试消息传递时抛出异常。换句话说,没有异常类型可以强制BadRequest状态代码立即触发死字进程(如果配置了死字)。

除此之外,EventGridTrigger 函数不会流出有用的 aeg 标头,并且当前版本无法处理传递架构 = CloudEventSchemaV1_0 的消息。

请注意,WebHook和HybridConnection处理程序有责任为验证握手调用生成响应。Azure函数处理程序在EventGridTrigger的预处理器中内置了此验证逻辑(目前仅适用于EventGridSchema和CustomInputSchema)

更新:

AEG事件向endpoint处理程序发送以下aeg标头:

aeg-subscription-name=MYSUBSCRIPTION
aeg-delivery-count=0
aeg-data-version=1.0
aeg-metadata-version=1
aeg-event-type=Notification

aeg标题可以帮助事件处理程序的附加功能,例如;长运行过程、扇入模式等。

 类似资料:
  • 事件 事件,就是文档与浏览器发生特定的 交互瞬间。JavaScript与HTML之间的交互就是通过事件实现的。 事件流 所谓事件流,就是接收页面事件的顺序。 事件流分 事件冒泡流 与 事件捕获流。事件冒泡流是IE开发团队提出的,捕获流是Netscape开发团队提出的。 事件冒泡流 所谓事件冒泡,就是事件开始时由 最具体的元素(文档中嵌套最深的那个 节点)接收,然后逐级向上传播到较为不具体的节点(文

  • 当使用内联编辑将新项目添加到剑道网格中时,数据源由所选的过滤。添加一行后,列不再可编辑(使用进行设置),但是可编辑的。不幸的是,级联不能用于编辑,的数据源未经过滤。 为了解决这个问题,我订阅了编辑事件()并手动过滤数据源。这是可行的,但是更新按钮不做任何事情,编辑就会丢失。

  • 事件就是用户或浏览器自身执行的某种动作。诸如click、load 和mouseover,都是事件的名字。而响应某个事件的函数就叫做事件处理程序(或事件侦听器)。事件处理程序的名字以"on"开头,因此click 事件的事件处理程序就是onclick,load 事件的事件处理程序就是onload。为事件指定处理程序的方式有好几种。 13.2.1 HTML事件处理程序某个元素支持的每种事件,都可以使用一

  • 本文向大家介绍学习JavaScript事件流和事件处理程序,包括了学习JavaScript事件流和事件处理程序的使用技巧和注意事项,需要的朋友参考一下 本文全篇介绍了JavaScript事件流和事件处理程序,分享给大家供大家参考,具体内容如下 一、事件流 事件流描述的是从页面中接收事件的顺序。IE的事件流是事件冒泡流,而Netscape Communicator的事件流是事件捕获流。 二、事件冒泡

  • 问题内容: 我有一棵divs树: 在div上单击时,将使其子级不可见-即单击“ a”将使“ b”和“ c”不可见。 问题是:单击“ b”将调用“ a”的单击,并使“ b”和“ c”不可见。如何使用jQuery禁用对“ a”的点击? 谢谢 问题答案: 您可以为孩子添加一个处理程序,以防止click事件蔓延: 这样一来,点击不会传播到。都不会单击以转到,因此也不会。

  • 如果我有以下代码: 对该循环中某个处理程序的所有调用是并行执行还是顺序执行?如果是顺序的,那么要获得并行执行,正确的方法是什么? 当做