Как запустить функцию Azure из другой функции Azure

У меня есть функция, запускаемая служебной шиной, и я хочу отправить сообщение конкретному получателю по электронной почте. Я уже установил Sendgrid и протестировал функцию, которая может отправлять электронные письма. Я хочу активировать эту функцию электронной почты всякий раз, когда сообщение поступает в очередь.

Я также установил все необходимые параметры для очереди.


person EagerNoob    schedule 09.08.2016    source источник
comment
Почему бы не сделать это в той же функции? в качестве очереди входной служебной шины и для выходной отправки электронной почты сетки?   -  person shachar    schedule 10.08.2016
comment
Спасибо, это то, чем я закончил, и он отлично работает.   -  person EagerNoob    schedule 11.08.2016


Ответы (2)


Вы можете использовать триггер HTTP или триггер очереди хранилища для запуска других функций.

Если вы используете веб-перехватчик и используете masterKey из D:\home\data\Functions\secrets, установив авторизацию на admin, вы можете гарантировать, что можно использовать только masterKey. (подробнее см. https://azure.microsoft.com/en-us/documentation/articles/functions-bindings-http-webhook/#api-keys)

Обычно вы должны использовать веб-перехватчик, если вам нужен ответ, и очередь хранения, если вы хотите запустить и забыть (поскольку вы не можете легко получить ответ на выполнение вызывающих функций)

Это также дает вам дополнительное преимущество, заключающееся в возможности запускать функции на нескольких языках, не беспокоясь об обмене данными.

person Michael B    schedule 10.08.2016

Я бы предложил разделить всю функциональность, которой вы хотите поделиться, включая функции, запускаемые оркестровкой, и функции, запускаемые активностью, в отдельный класс; добавлен с внедрением зависимостей; а затем вызовите его из множества функций.

В противном случае, как предлагали другие, рекомендуется либо связываться с хранилищем очередей, либо использовать приложения логики (https://docs.microsoft.com/en-us/azure/azure-functions/functions-best-practices#межфункциональнаясвязь)

person forlayo    schedule 03.04.2020