Проблемы с созданием подписки на события учетной записи хранения Azure для получения приложением логики Azure

У меня есть приложение Azure Logic, которое я хочу запускать всякий раз, когда файл загружается в определенную учетную запись хранения Azure. Приложение логики развертывается с помощью шаблона ARM (который также был настроен для создания соединений API Event Grid и Blob Storage).

Когда я развертываю шаблон ARM, триггер Event Grid не работает, поскольку в учетной записи хранения Azure нет подписки на события.

К вашему сведению, я могу заставить работать подписки на события, если я создам приложение логики с помощью параметра быстрого запуска, то есть из моей учетной записи хранения Azure в Events > Get Started > Logic Apps > When a new blob is uploaded > Create.

^^ Это создает новое приложение логики с триггером Azure Event Grid (когда происходит событие ресурса), но на самом деле я хочу создать / связать подписку на событие с существующим приложением логики, то есть с тем, которое я развернул с помощью шаблона ARM, и Я хочу иметь возможность автоматизировать это.

Если я перепроектирую подписку на события, созданную при быстром запуске приложения Logic; Я вижу, что у него есть тип конечной точки 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 - Райан.


person Ryan.Bartsch    schedule 31.03.2020    source источник


Ответы (1)


Похоже, конечная точка триггера вашего приложения логики немного не работает. Это должно выглядеть примерно так:

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

Чтобы узнать точное значение, нажмите Просмотреть историю триггеров в колонке обзора приложения Logic.

С точки зрения автоматического развертывания шаблона ARM вы можете получить конечную точку триггера, используя следующий код:

[listCallbackUrl(concat(resourceId('Microsoft.Logic/workflows',variables('myLogicAppName')),'/triggers/When_blah_blah_blah'), '2016-10-01').value]

Я настоятельно рекомендую либо развернуть ваши подписки Logic App и Event Grid вместе, либо добавить триггер «Logic App was changed» в развертывание подписки Event Grid. Это понадобится вам в случае, если ваше приложение логики изменит конечную точку, что должно произойти только во время развертывания (друзья не позволяют друзьям сохранять данные на портале).

person Josh Williams    schedule 01.04.2020
comment
Спасибо, Джош. Я могу подтвердить, что URL-адрес обратного вызова в разделе "Просмотр истории триггеров" работает! Я также согласен с тем, что «друзья не позволяют друзьям сохранять на портале»;) И последнее; куда вы переходите на портале Azure, чтобы экспортировать шаблон ARM подписки на события? Возможно, пока неудобно создавать шаблоны ARM с нуля, поэтому я предпочел бы экспортировать и изменять по мере необходимости ... - person Ryan.Bartsch; 01.04.2020