Автоматизация Azure

Я работаю над веб-сайтом и базой данных Azure и пытаюсь понять, как периодически запрашивать таблицу, в которой есть столбец даты. Для каждой даты в столбце, прошедшей определенную дату (не обязательно текущую дату), мне нужно отправить электронное письмо.

При чтении различных статей и вопросов самым простым решением является использование службы автоматизации Azure и создание модуля Runbook для выполнения задачи.

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

Do I:

a) вызвать сохраненную процедуру для выполнения всей работы (запросить таблицу и отправить электронное письмо), если это действительно возможно. или;

б) запросить таблицу из модуля Runbook и отправить электронное письмо оттуда.

Стремясь узнать, какой подход является лучшим, я смогу разобраться, как его кодировать.


person Spionred    schedule 15.06.2015    source источник
comment
Другой вариант - WebJobs. для исследования, особенно если вы используете Azure WebApps для своего веб-сайта.   -  person BenV    schedule 15.06.2015
comment
Спасибо, посмотрю.   -  person Spionred    schedule 16.06.2015


Ответы (1)


Хотя можно отправить электронное письмо из хранимой процедуры, автоматизация Azure предназначена как служба интеграции, поэтому похоже, что это было бы лучшим решением для этого. Просто чтобы дать пример того, почему - учетные данные для учетной записи электронной почты для отправки будут в виде обычного текста в хранимой процедуре. В службе автоматизации Azure у нас есть активы учетных данных, которые позволяют безопасно хранить учетные данные, но при этом ссылаться на них для использования для операций в модулях Runbook с помощью Get-AutomationPSCredential.

Чтобы отправить электронное письмо из службы автоматизации Azure, используйте Send-MailMessage или просмотрите примеры отправки электронной почты в Runbook здесь или в галерее модулей Runbook.

Единственная причина, по которой я не мог использовать для этого службу автоматизации Azure, - это требование о производительности / масштабировании. Песочницы модулей Runbook службы автоматизации Azure не требуют интенсивного использования диска, ОЗУ или ЦП, поэтому одновременная загрузка тысяч записей БД в модуль Runbook может привести к нехватке памяти в изолированной программной среде Runbook.

person Joe    schedule 15.06.2015
comment
Привет, не зная подробностей автоматизации, которые меня интересовали, я был немного упрощен с примером того, что я ищу, чтобы вопрос был кратким и лаконичным. Я бы, вероятно, пошел с процессом, если бы я взял каждую учетную запись (адрес электронной почты) и запросил в таблице записи, принадлежащие этой учетной записи, которые нужно отправить по электронной почте. Это должно уменьшить количество возвратов и, следовательно, не потребовать больших ресурсов. Как вы думаете, это сработает? - person Spionred; 16.06.2015
comment
Да, захват записей небольшими наборами, например, по связанной учетной записи, должен работать, если у вас нет тысяч записей на учетную запись :) - person Joe; 16.06.2015
comment
В одной учетной записи могут быть тысячи записей, но не так много записей, в которых будет указана дата, по которой будет отправлено электронное письмо. Может ли модуль Runbook вызвать хранимую процедуру для выполнения запроса (передавая учетную запись в качестве параметра) и вернуть только те записи, которые необходимо отправить по электронной почте, тогда модуль Runbook позаботится об электронной почте? затем перейти к следующей учетной записи и повторить процесс? - person Spionred; 16.06.2015