首页 > 解决方案 > 创建 azure 函数应用程序后如何更改运行时堆栈

问题描述

创建 azure 函数应用程序后,有什么方法可以将 azure 函数应用程序中的运行时堆栈从 .net 更改为 python。

标签: azure-functions

解决方案


根据一些测试,我发现如果操作系统是 linux,它可以从 .net 更改为 python。如果.net函数在linux系统下运行,我们可以通过点击“配置”-->edie“FUNCTIONS_WORKER_RUNTIME”将运行时栈改为python并保存。之后,当我们将 VS 代码中的 python 部署到 azure 时,该函数可以运行成功。 在此处输入图像描述 在此处输入图像描述

但是如果 .net 函数应用程序是在窗口系统中,虽然我们可以通过上述步骤编辑运行时堆栈。但是当我们将函数从 VS 代码部署到 azure 时,会显示错误消息“Publishing Python functions is only supported for Linux FunctionApps”

顺便说一句,如果你想用python创建一个函数应用程序,azure只允许linux作为其操作系统,而.net中的函数应用程序可以选择其操作系统的windows和linux。

关于我们在哪里可以看到现有函数应用运行时堆栈的另一个问题。只需参考上面的步骤,我们就可以在函数应用的“配置”中看到运行时堆栈。

更新:

关于如何知道现有函数应用中使用的操作系统的问题,我检查了我身边的函数应用,但没有找到可以直接知道操作系统的地方。但是我们可以通过其他方式知道它。

  1. 如果我们创建一个window系统的函数应用,点击“配置”按钮后可以找到“通用设置”选项卡,但是linux系统的函数应用中不会显示“通用设置”。(如下图两张) 在此处输入图像描述 在此处输入图像描述

  2. 另一种方式,我们可以通过函数的导出模板来了解操作系统。请点击“平台功能”-->“导出模板”按钮。 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

如果函数是 linux 系统,“kind”属性(在“resources”属性下)将显示为"functionapp,linux". 如果函数是windows系统,“kind”属性只会显示"functionapp"

希望有帮助~


推荐阅读