创建 Azure 逻辑应用接收的 Azure 存储帐户事件订阅的问题
Issues creating Azure Storage Account Event Subscription to be received by Azure Logic App
我有一个 Azure 逻辑应用程序,每当文件上传到特定的 Azure 存储帐户时,我都想 运行。逻辑应用程序是通过 ARM 模板部署的(该模板也已配置为创建 Event Grid 和 Blob Storage API 连接) .
当我部署 ARM 模板时,事件网格触发器不工作,因为 Azure 存储帐户中没有事件订阅。
仅供参考,如果我通过快速启动选项创建逻辑应用程序,即从 Events > Get Started > Logic Apps > When a new blob is uploaded > Create
.
下的我的 Azure 存储帐户创建逻辑应用程序,我可以使事件订阅起作用
^^ 这将创建一个带有 Azure 事件网格触发器的新逻辑应用程序(当资源事件发生时),但我实际上想 create/link 事件订阅到现有的逻辑应用程序,即我通过 ARM 模板部署,我希望能够自动执行此操作。
如果我对逻辑应用快速启动创建的事件订阅进行逆向工程;我可以看到它的端点类型为 WebHook,端点形式为 {logic-app-access-endpoint}/triggers/{name-of-trigger}/versions/{logic-app-version}/run
。我可以通过从我的逻辑应用程序中获取参数将其重构为如下所示:
https://prod-24.australiaeast.logic.azure.com:443/workflows/12433cc68f0e916dc3048c1775333506/triggers/When_blah_blah_blah/versions/12345678901234567890/run
我可以输入订阅者端点和确认选择,但是当我尝试创建它时;我收到以下错误:
Deploying Event Subscription: Test123
Deployment has failed with the following error: {"code":"Url validation","message":"The attempt to validate the provided endpoint https://prod-24.australiaeast.logic.azure.com:443/workflows/12433cc68f0e916dc3048c1775333506/triggers/When_blah_blah_blah/versions/12345678901234567890/run failed. For more details, visit https://aka.ms/esvalidation."
奇怪的是,如果我进入我的逻辑应用程序并将事件网格连接更改为另一个(但具有完全相同的属性)然后保存我的逻辑应用程序;然后我可以创建我的事件网格订阅而不会出现错误。好像有点脾气...
我尝试了一些方法,例如授权我的 事件网格 API 连接,但它不起作用...
有谁知道如何在没有错误/气质行为的情况下设置对现有逻辑应用程序的事件网格订阅...还有如何自动创建事件网格订阅(假设有一些动态属性,例如作为逻辑应用程序版本)。
TIA - 瑞安
您的逻辑应用触发器端点似乎有点不正常。它应该看起来像这样:
https://prod-24.australiaeast.logic.azure.com:443/workflows/12433cc68f0e916dc3048c1775333506/triggers/When_blah_blah_blah/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers% When_blah_blah_blah%2Frun&sv=1.0&sig=1234567890abcdefghij
您可以通过单击“逻辑应用概述”边栏选项卡中的查看触发器历史记录来找到准确的值。
从 ARM 模板自动化部署的角度,您可以使用以下代码获取触发端点:
[listCallbackUrl(concat(resourceId('Microsoft.Logic/workflows',variables('myLogicAppName')),'/triggers/When_blah_blah_blah'), '2016-10-01').value]
我强烈建议同时部署逻辑应用程序和事件网格订阅,或者向事件网格订阅部署添加 "Logic App was changed" 触发器。如果您的逻辑应用程序触发端点更改,您将需要它,而这种更改应该只在部署时发生(朋友不让朋友保存在门户中)。
我有一个 Azure 逻辑应用程序,每当文件上传到特定的 Azure 存储帐户时,我都想 运行。逻辑应用程序是通过 ARM 模板部署的(该模板也已配置为创建 Event Grid 和 Blob Storage API 连接) .
当我部署 ARM 模板时,事件网格触发器不工作,因为 Azure 存储帐户中没有事件订阅。
仅供参考,如果我通过快速启动选项创建逻辑应用程序,即从 Events > Get Started > Logic Apps > When a new blob is uploaded > Create
.
^^ 这将创建一个带有 Azure 事件网格触发器的新逻辑应用程序(当资源事件发生时),但我实际上想 create/link 事件订阅到现有的逻辑应用程序,即我通过 ARM 模板部署,我希望能够自动执行此操作。
如果我对逻辑应用快速启动创建的事件订阅进行逆向工程;我可以看到它的端点类型为 WebHook,端点形式为 {logic-app-access-endpoint}/triggers/{name-of-trigger}/versions/{logic-app-version}/run
。我可以通过从我的逻辑应用程序中获取参数将其重构为如下所示:
https://prod-24.australiaeast.logic.azure.com:443/workflows/12433cc68f0e916dc3048c1775333506/triggers/When_blah_blah_blah/versions/12345678901234567890/run
我可以输入订阅者端点和确认选择,但是当我尝试创建它时;我收到以下错误:
Deploying Event Subscription: Test123
Deployment has failed with the following error: {"code":"Url validation","message":"The attempt to validate the provided endpoint https://prod-24.australiaeast.logic.azure.com:443/workflows/12433cc68f0e916dc3048c1775333506/triggers/When_blah_blah_blah/versions/12345678901234567890/run failed. For more details, visit https://aka.ms/esvalidation."
奇怪的是,如果我进入我的逻辑应用程序并将事件网格连接更改为另一个(但具有完全相同的属性)然后保存我的逻辑应用程序;然后我可以创建我的事件网格订阅而不会出现错误。好像有点脾气...
我尝试了一些方法,例如授权我的 事件网格 API 连接,但它不起作用...
有谁知道如何在没有错误/气质行为的情况下设置对现有逻辑应用程序的事件网格订阅...还有如何自动创建事件网格订阅(假设有一些动态属性,例如作为逻辑应用程序版本)。
TIA - 瑞安
您的逻辑应用触发器端点似乎有点不正常。它应该看起来像这样:
https://prod-24.australiaeast.logic.azure.com:443/workflows/12433cc68f0e916dc3048c1775333506/triggers/When_blah_blah_blah/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers% When_blah_blah_blah%2Frun&sv=1.0&sig=1234567890abcdefghij
您可以通过单击“逻辑应用概述”边栏选项卡中的查看触发器历史记录来找到准确的值。
从 ARM 模板自动化部署的角度,您可以使用以下代码获取触发端点:
[listCallbackUrl(concat(resourceId('Microsoft.Logic/workflows',variables('myLogicAppName')),'/triggers/When_blah_blah_blah'), '2016-10-01').value]
我强烈建议同时部署逻辑应用程序和事件网格订阅,或者向事件网格订阅部署添加 "Logic App was changed" 触发器。如果您的逻辑应用程序触发端点更改,您将需要它,而这种更改应该只在部署时发生(朋友不让朋友保存在门户中)。