使用 Azure 组件的定期 REST API 调用
Periodic REST API calls using Azure components
我想对第三方服务进行定期安排的 REST API 调用,并将结果发送到 Azure 事件中心或 Azure SQL。一个例子是获取 x 个位置昨天的天气(需要 x API 次调用)。
到目前为止,我已经看过:
* 带有一些 python 代码的虚拟机,在该机器上使用一些调度程序。这行得通,但我们不是最优雅的方式
* 使用 Azure 调度程序(不好,因为似乎不可能动态构建 API 调用,例如使用 date-1 作为参数)
* 数据工厂:似乎矫枉过正,并不是真的有意这样做
推荐的方法是什么?
根据您的描述,我推荐使用Azure Web Job来实现。
WebJobs 是 Azure 应用服务的一项功能,它使我们能够 运行 在与 Web 应用、API 应用或移动应用相同的上下文中的程序或脚本。
我们可以使用 Scheduled triggered WebJobs 定期调用 REST API。
更多关于WebJobs的信息可以参考:Run Background tasks with WebJobs in Azure App Service
下面的屏幕截图显示了如何创建一个计划触发的 WebJob,它将 运行 每 20 分钟定期触发一次。
要创建它,我们只需要上传.zip格式的.exe压缩文件,然后我们就可以定期运行这个.exe程序。
感谢您的建议。我最终为此使用了一个 Azure 函数,它可以通过 azure scheduler
的 REST 调用触发
由于我的函数代码在 python 中,我花了一段时间才找到如何做,但这是一个很好的开始:
我已经通过 Azure 逻辑应用程序完成了完全相同的操作。
可以按计划或通过 HTTP 触发器触发逻辑应用程序。
为了拥有动态系统(例如不同的位置),我将位置存储在 Azure table 中。逻辑应用将从 Azure table 获取位置,并动态构建 API 调用,并将结果发送到事件中心。
date-1 可以在执行时轻松设置为参数。
只需要非常有限的编码
我想对第三方服务进行定期安排的 REST API 调用,并将结果发送到 Azure 事件中心或 Azure SQL。一个例子是获取 x 个位置昨天的天气(需要 x API 次调用)。
到目前为止,我已经看过: * 带有一些 python 代码的虚拟机,在该机器上使用一些调度程序。这行得通,但我们不是最优雅的方式 * 使用 Azure 调度程序(不好,因为似乎不可能动态构建 API 调用,例如使用 date-1 作为参数) * 数据工厂:似乎矫枉过正,并不是真的有意这样做
推荐的方法是什么?
根据您的描述,我推荐使用Azure Web Job来实现。
WebJobs 是 Azure 应用服务的一项功能,它使我们能够 运行 在与 Web 应用、API 应用或移动应用相同的上下文中的程序或脚本。
我们可以使用 Scheduled triggered WebJobs 定期调用 REST API。
更多关于WebJobs的信息可以参考:Run Background tasks with WebJobs in Azure App Service
下面的屏幕截图显示了如何创建一个计划触发的 WebJob,它将 运行 每 20 分钟定期触发一次。
要创建它,我们只需要上传.zip格式的.exe压缩文件,然后我们就可以定期运行这个.exe程序。
感谢您的建议。我最终为此使用了一个 Azure 函数,它可以通过 azure scheduler
的 REST 调用触发由于我的函数代码在 python 中,我花了一段时间才找到如何做,但这是一个很好的开始:
我已经通过 Azure 逻辑应用程序完成了完全相同的操作。
可以按计划或通过 HTTP 触发器触发逻辑应用程序。
为了拥有动态系统(例如不同的位置),我将位置存储在 Azure table 中。逻辑应用将从 Azure table 获取位置,并动态构建 API 调用,并将结果发送到事件中心。
date-1 可以在执行时轻松设置为参数。
只需要非常有限的编码