我是 Azure 的新手,想要创建一个事件订阅,以通过 HTTP 将任何更改(此处为资源写入成功)从我的 Blob 存储推送到我的逻辑应用程序。在我的逻辑应用程序中,我有一个当收到 HTTP 请求时,它将在我发送请求时运行。
只是想演示我如何尝试创建它。
名称:“我认为这不重要”
...
主题名称:“刚刚给了它一个随机名称,这应该指的是某物吗?”
源资源:“我的存储帐户”
ENDPOINT:'我从逻辑应用的“概述”页面获取了 URL(工作流 URL )' 网址如下所示:
https://LOGICAPPNAME.azurewebsites.net:443/api/APPNAME/triggers/manual/invoke?api-version=2022-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=RjVKZbs-0CV559hZYlFfhM0k22W39lS5
当我将其复制并粘贴到浏览器时,我可以触发我的逻辑应用程序。我认为它充当 GET 的角色,我不确定它是否以 POST 或其他方式发送。这会有什么不同。
我收到了这个错误。
Deployment has failed with the following error: {"code":"Url validation","message":"Webhook validation handshake failed for https://LOGICAPPNAME.azurewebsites.net/api/APPNAME/triggers/manual/invoke. Http POST request retuned 2XX response with response body . When a validation request is accepted without validation code in the response body, Http GET is expected on the validation url included in the validation event(within 10 minutes). For troublehooting, visit https://aka.ms/esvalidation. Activity id:ID, timestamp: DATE TIME"}
如果我仍然对如何执行此操作感到困惑,我会尝试遵循 THIS EXAMPLE 。我该如何修复这个错误?
最佳答案
从我这边复制后,我可以按照您提供的链接使用以下详细信息来创建我的逻辑应用程序来实现此目的。
您收到该错误的原因是您需要使用逻辑应用 HTTP 触发器请求 URL 作为 Web Hook 的端点,而不是逻辑应用的 URL。
注意:您实际上不必再次调用触发器,只要您对存储帐户进行任何更改,逻辑应用就会被触发。
结果:
创建 Blob 时
删除 Blob 时
关于azure - Webhook 验证握手失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73372370/