首页 > 解决方案 > 如何在本地调试 EventGridTrigger

问题描述

我有一个函数,它是在 blob 上传时触发的 EventGridTrigger。

 [FunctionName("EventGridTest")]
    public async Task Run([EventGridTrigger] EventGridEvent eventGridEvent,
        [Blob("{data.url}", FileAccess.Read, Connection = "xxxxxx")] Stream input, ILogger log)
    {

我正在尝试在本地调试此功能。所以当 blob 被上传时,我希望断点能够命中我的代码。我已经安装了 ngrok,并且我有 http 和 https ngrok url,但是如何使用这些端点?

我有一个这样的网址

https://xxxxxx.ngrok.io/runtime/webhooks/EventGridExtensionConfig?functionName=EventGridTest

但是怎么办呢?我必须发布吗?但它的主体是什么。

标签: azureazure-functions

解决方案


通常我使用本指南来做到这一点:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-debug-event-grid-trigger-local

您必须为您的活动创建一个新订阅;类型为 webb 钩子,然后您必须将该 url 放在端点中。

因此,随着函数在本地运行,您现在可以在 blobstorage 中放置一个新文件,它将触发将在本地调用您的函数的事件,您可以进行调试。


推荐阅读