我有一个每周的流程,希望在Azure中实现自动化。整个过程包括大约5个不同的子过程。总执行时间约为8小时。子流程技术包括:
在Azure的Windows VM上运行的第三方数据加载器程序。该程序能够在完成后发送电子邮件。然后,此过程需要触发...
在Azure的Windows VM上运行的T-SQL脚本,完成后需要触发...
在Azure的Windows VM上运行的SSIS作业,完成后需要触发...
在Azure的Windows VM上运行的c#应用程序,完成后需要触发...
在Azure的Linux VM上运行的Python代码。
我的问题是:可以使用哪些Azure技术(例如自动化Runbook,逻辑应用程序)将这些东西组合在一起,使我回到周末?先感谢您。
答案 0 :(得分:1)
要回答您的问题,是的,可以肯定,有多种方法可以使用Azure来自动化该过程。我选择 Logic Apps ,因为业务流程自动化是它的主要用例之一。但是... 那是简单的部分!
对您而言,最困难的部分是使这些不同的应用程序可以通过外部服务访问。它们运行在Windows VM内,没有像自然Azure Services这样的自然终结点。
执行此操作的方法很多,具体取决于您修改VM的能力和编程技能。
续:由于所有VM都在同一个域中并且已连接网络,所以首先要考虑的是老派(新的和闪闪的不一定总是最好的), Windows任务 。至少2-4。
这意味着,第2个计划任务可以检查电子邮件,然后运行其SQL,然后在第3个启动任务。
#3可以运行其作业,然后在#4上启动运行c#程序的任务。然后,#4可以触发Python脚本。那么,您最大的不足就是如何触发Python脚本。就像通过FTP为#5上的任务添加触发文件一样简单。
Windows脚本可以在PowerShell中完成。不是很优雅,但是您的环境也不是。
最后,也是最重要的一点,您可以使用 Azure Monitor和自定义日志格式来跟踪该过程。
答案 1 :(得分:0)
这可以通过持久功能来解决-以及外部事件模式:https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-external-events