我已经在azure上托管了我的网站,现在我想按月计划付款。我正在使用Authorize.net付款,但我不能使用他们的经常性账单功能,因为它提供了很少的控制。我必须在数据库中进行检查,支付和更新记录。我应该使用什么Azure调度器,Azure WebJob或工作人员角色的Azure函数?
发布于 2017-05-04 11:22:14
绝对不是工人角色。他们是非常重量级的,通常不值得为这样一项简单的工作而努力。
Web作业可能是一个很好的解决方案。它可以在你的web应用程序的上下文中运行,所以你可以在没有额外费用的情况下使用它。但是你需要做一些开发--你必须创建一个调用Authorize.net的应用程序。
如果您只需要触发单个HTTP请求,那么使用Azure Scheduler来计划此HTTP操作可能是一个不错的选择。您可以配置请求本身(报头、有效负载),它也具有错误处理功能。但您可能必须在Azure门户中存储计划作业的配置中的敏感信息。
所以我会说,忘记工人的角色,然后权衡简单性与灵活性和开发努力。令人遗憾的是,如果我遇到一些使用调度器不可行的问题,我可能会尝试使用调度器,然后转到WebJob。
编辑:
Azure函数也是一个很好的选择--我想说的是,它是介于webjob和简单的调度选项之间的中间地带。它是应用程序服务功能集的一部分,因此它可以在与web应用程序相同的应用程序服务计划中运行,因此没有成本。但在这里,您也必须自己编写Authorize.net的http请求。但与webjob相比,Azure函数要轻量级得多--您不必创建exe (或ps脚本或其他任何内容),只需在Azure门户内的脚本编辑器中编写http请求即可。但你还是要自己动手做。不过,这比简单的调度选项更灵活一些,这是在处理错误时需要考虑的问题。
因此,这是一个很好的中间地带,但考虑到任务的复杂性(即触发单个HTTP请求),我认为这仍然有很多工作要做。
发布于 2017-05-05 04:42:41
为了让它快速工作,Logic Apps是一个很好的选择。使用Logic Apps,您可以使用基于您定义的时间表的计时器来触发它,使用开箱即用的SQL/DocDB (取决于您的确切场景)来连接到您的数据库。最有可能的是,你应该能够很快地让它工作起来。我还建议在aka.ms/logicapps-wish上提交一个建议,这样我们就可以跟踪Authorize.net连接器的请求,当可用时,这将使这变得更加容易。
https://stackoverflow.com/questions/43781176
复制相似问题