在最近举行的 Connect()大会上,微软宣布 Azure Functions 对 Python 的支持。开发人员可以使用 Python 3.6 基于开源的 Functional Runtime 2.0 构建 Function,并将它们发布到 Consumption Plan。
10 月上旬,InfoQ 报道了 Azure Function Runtime 2.0 的普遍可用性,从那时开始,对 Python 的支持一直是最重要的用户请求之一,并且私有预览版早已可用。现在它普遍可用,开发人员可以开始构建用于数据操作、机器学习、脚本和自动化场景的 Function。
Azure Runtime 2.0 包含了一个语言 worker 模型,为非.NET 语言(如 Java 和 Python)提供支持。因此,开发人员可以导入现有的.py 脚本和模块,然后开始编写 Function。此外,开发人员可以使用 requirements.txt 文件为 pip 配置其他依赖项。
Azure Function 编程模型提供了触发器和绑定,开发人员因此可以配置触发 Function 执行的事件以及 Function 需要编排的数据源。根据微软 Azure Function 团队项目经理 Asavari Tayal 的说法,预览版将支持绑定到 HTTP 请求、计时器事件、Azure Storage、Cosmos DB、服务总线、事件中心和事件网格。配置完成后,开发人员可以快速从这些绑定中检索数据,或使用入口点 Function 的方法属性进行回写。
熟悉 Python 的开发人员不需要学习新工具,他们可以在 Mac、Linux 或 Windows 上本地调试和测试 Function。借助 Azure Functions Core Tools(CLI),开发人员可以使用触发器模板并直接发布到 Azure,Azure 平台将负责处理构建和配置。此外,开发人员还可以在 Visual Studio Code 中使用 Azure Functions 扩展,包括 Python 扩展,以便在任意平台上获得 Python 的自动完成、IntelliSense、linting 和调试等功能。
可以通过 Consumption Plan 或 Service App Plan 来托管使用 Python 编写的 Azure Function。Tayal 在一篇关于 Python 预览的博文中解释道:
实际上,两个托管计划都是在基于开源的 azure-function/python 基础镜像的 docker 容器中运行你的 Function。平台对容器进行了抽象,你只需要负责提供 Python 文件,无需操心与管理底层 Azure Function 和 Python 运行时相关的事情。
最后,由于竞争对手亚马逊提供的 AWS Lambda 支持 Python 3.6,所以微软也支持这一版本的 Python。微软和亚马逊都试图通过在云平台上推广更多语言来正确更多的用户。
查看英文原文:
https://www.infoq.com/news/2018/12/azure-functions-python-support
评论 1 条评论