【问题标题】:Can I create an event grid subscription to an Azure function app before the function is published?我可以在函数发布之前为 Azure 函数应用创建事件网格订阅吗?
【发布时间】:2020-08-05 11:55:50
【问题描述】:

我一直在尝试使用 ARM 模板创建对事件网格触发器函数的事件网格订阅,该函数是为了捕获 Blob 存储事件而创建的。我先成功创建了函数应用资源,然后尝试在创建的函数应用上创建事件网格订阅,但失败并出现以下错误:

    "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "Url validation",
        "message": "The attempt to validate the provided endpoint https://myfunction.azurewebsites.net/runtime/webhooks/eventgrid failed. For more details, visit https://aka.ms/esvalidation."
      }
    ]
  }

这里我使用了 webhook URL 作为端点。我知道有一个验证调用可以返回到函数应用程序以验证它的存在。

我的问题是,我们是否需要在尝试为此创建事件网格订阅之前将事件网格触发器函数发布到函数应用?

附:我也尝试过使用 AzureFunction 作为端点类型 (2020-01-01 version) 的相同顺序,但仍然无法创建订阅。

【问题讨论】:

    标签: azure azure-functions azure-eventgrid azure-function-app


    【解决方案1】:

    基于here描述的验证细节:

    At the time of event subscription creation/update, Event Grid posts a subscription validation event to the target endpoint
    

    作为一种解决方法,您可以使用虚拟(nop 操作)订阅者处理程序端点来创建订阅,然后使用您的真实订阅者处理程序端点更新 webhook 端点。

    【讨论】:

    • 嗨@RomanKiss,谢谢你的回答。有什么方法可以使用 AzureFunction 端点而不是 WebHook 来执行建议的虚拟操作?
    • 您可以(通过门户手动)为这个虚拟(nop-operation)订阅者处理程序创建一个 EventGridTrigger 函数,并根据您的需要使用它。
    • 谢谢@RomanKiss,我设法在创建事件订阅之前放置了另一个部署任务,以便让事件触发功能有一些时间正确部署,并且它起作用了。
    猜你喜欢
    • 2018-12-12
    • 2020-02-22
    • 2020-04-11
    • 2021-11-02
    • 2019-01-07
    • 2018-07-24
    • 1970-01-01
    • 2021-03-22
    • 2021-12-01
    相关资源
    最近更新 更多