在 Azure 上调度 Python 脚本

lem*_*mac 7 python scheduler azure

所以我正在考虑每天安排一个 python 脚本,而不是在我自己的机器上使用 Task Scheduler,我想知道我必须使用 Azure 云帐户这样做的最佳选择是什么。

Jay*_*ong 8

根据您的需要,我建议您使用Web Apps Service 中的Web Jobs

它有两种类型的 Azure Web 作业供您选择: ContinuousTrigger。根据您的需要,应采用触发器

你可以参考这里的文档了解更多细节。此外,这里展示了如何在 WebJobs 中运行任务。

您可以参考以下步骤来创建您的网络作业。

第一步:使用virtualenv组件在你的系统中创建一个独立的python运行环境,pip install virtualenv 如果没有请先用命令安装。

如果你安装成功,你可以在你的python/Scripts文件中看到它。

在此处输入图片说明

第二步:运行commad创建独立的Python运行时环境。

在此处输入图片说明

第3步:然后进入创建目录的Scripts文件夹并激活它(这一步很重要,不要错过

在此处输入图片说明

不要关闭此命令窗口并用于pip install <your libraryname>在此命令窗口中下载外部库。

在此处输入图片说明

Step 4将Webjob.py(你自己的业务代码)统一压缩到你依赖的libs/site-packages文件夹下的libs包所在的文件夹中。

在此处输入图片说明

第 5 步:在 Web 应用服务中创建 webjob 并上传 zip 文件,然后您可以执行您的 Web 作业并检查日志

在此处输入图片说明

您还可以参考 SO 线程:

1.在 Azure 中运行 Python 脚本的选项

2. Web Job 上的 Python 库

顺便说一句,您需要先创建一个 azure web 应用程序,因为 Webjob 运行在 azure web 应用程序中。

希望对你有帮助。

  • 我从这个提供的答案开始,但免费层没有提供我需要的功能(Python + 计划触发器)。我改用 Python 中的无服务器 Azure 函数并使用计时器触发器来获取所需的功能。教程,使用计时器触发器而不是http触发器:https://learn.microsoft.com/en-us/azure/developer/python/tutorial-vs-code-serverless-python-01 (2认同)