如何从 Python 脚本中部署 Azure Functions

How can you deploy an Azure Function from within a Python script

与部署存储帐户或从 Python 上传 blob 文件的方式相同。

我基本上是在寻找 Python 等同于以下 bash 命令

  1. az functionapp create --resource-group $RESOURCE_GROUP_NAME --os-type Linux --consumption-plan-location $AZ_LOCATION --runtime python --runtime-version 3.6 --functions-version 2 --name $APP_NAME --storage-account $STORAGE_ACCOUNT_NAME

  2. func new --name $FUNC_NAME --template "Azure Queue Storage trigger"

  3. func azure functionapp publish $APP_NAME --build-native-deps

一个逃避方法是只使用 Python 脚本 运行 shell 命令,但我正在寻找一种更优雅的解决方案(如果存在的话)。

I am essentially looking for the Python equivalent of the following bash commands

如果查看azure的pythonsdk或者查看azure的RESTAPI文档,会发现没有现成的method.Basically,有两种情况讨论:

如果想部署azure function到windows OS,那么只需要使用任何python代码将本地函数结构上传到相关存储文件共享(前提是已在 azure 上创建函数应用程序。)。

但是如果要将azure function部署到linuxOS,那就没有部署到windowsOS那么简单了。需要进行额外的打包操作,具体逻辑可能需要查看azure cli的底层实现。

A cop-out would be to just have the Python script run the shell commands, but I am looking for a more elegant solution if one exists.

基于Linux的azure function,我觉得你不用考虑那么多。 deploy function app时有很多额外的操作,所以比较推荐使用command或者运行 command by python来实现(没有现成的python代码或者REST API 可以做你想做的事。)。