如何查看实际的Azure事件网格消息?

问题描述

我有一个由EventGridEvents触发的Azure函数。

  • function.json进行相应设置:
{
    "scriptFile": "__init__.py","bindings": [{
        "name": "event","type": "eventGridTrigger","direction": "in"
    }]
}
  • __init__.py已拨入(此处仅显示摘录):
def main(event: func.EventGridEvent):
        result = json.dumps({
            'id' : event.id,'data' : event.get_json(),'topic' : event.topic,'subject' : event.subject,'event_type' : event.event_type
        })
  • 功能已成功部署
  • EventGrid触发器创建成功
  • 我在此处成功发布了EventGrid条消息:

enter image description here

  • 但是该功能从未触发。

我现在想查看实际的EventGrid消息,并调试为什么该函数未触发但我找不到可以查看该消息的地方!

我等待了大约30分钟,刷新了多次,甚至还观看了AppInsights实时日志,没有触发。

enter image description here

  1. 成功发布EventGrid消息后在哪里查看
  2. 我应该如何调试此功能?

编辑1:

闲逛了一会儿,我发现另一个显示“ 0的事件”的“度量”

事件如何“已发布”而不是“已交付”?

enter image description here

解决方法

我已经做了测试。在我这边似乎没问题。

也许你和我的有所不同。

请检查:

_init_.py

import json
import logging

import azure.functions as func


def main(event: func.EventGridEvent):
    result = json.dumps({
        'id': event.id,'data': event.get_json(),'topic': event.topic,'subject': event.subject,'event_type': event.event_type,})

    logging.info('Python EventGrid trigger processed an event: %s',result)

function.json

{
  "scriptFile": "__init__.py","bindings": [
    {
      "type": "eventGridTrigger","name": "event","direction": "in"
    }
  ]
}

这是我的eventgrid订阅:(我将blob添加到特定的容器中并将其删除。请注意,eventgrid订阅的指标可能需要大约5分钟才能显示出来,但是会立即触发您的终结点函数。)

enter image description here

这是我的eventgrid订阅的过滤器:

enter image description here

我希望在测试容器中创建和删除的Blob触发端点Azure功能,因此我在“主题始于”部分添加了/blobServices/default/containers/test

然后我的功能正常工作:

enter image description here

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...