我正在通过Terraform部署一个Azure函数作为一个Docker映像,并使用mcr.microsoft.com/azure-functions/python:4-python3.9-slim
映像作为基础。
我没有找到关于为什么运行时版本仍然是custom (~4)
的解释,如下图所示。
[配置页,函数运行时设置]
我尝试为功能应用程序指定以下应用程序设置:FUNCTIONS_WORKER_RUNTIME = "python"
这不会更改任何内容,函数在使用或不使用此设置的情况下均有效。
根据所有Microsoft文档,没有证据表明为什么它显示custom (~4)
而不是~4
。
这是因为docker映像而完全正常,还是因为缺少某些配置?
1条答案
按热度按时间zaqlnxep1#
根据所有Microsoft文档,没有证据表明为什么它显示
custom (~4)
而不是~4
。Azure函数映像
mcr.microsoft.com/azure-functions/python:4-python3.9-slim
指出,带有Azure函数核心工具版本4的Python 3.9版本:如Azure Functions Python的Terraform官方文档所示,您必须将
FUNCTIONS_WORKER_RUNTIME
指定为python
:当您将Python docker Azure Functions的基础映像部署到云中的Azure Function应用程序时,如果在Terraform代码中指定,则Function Worker运行时将设置为Python:
Azure Portal在两种情况下都显示运行时版本的自定义(~4)。
如果您已经在terraform代码中的function app resource下指定了
version = "~4"
,那么函数运行时版本在Azure门户中设置为4,如上面的Same Terraform文档所示。即使Python 3.9版本在Azure Functions核心工具的V4和V3中都受支持,如本MS文档中所述,您使用的是Python 3.9 Azure Functions的版本4。因此,运行时版本是应用程序设置配置菜单设置为4。
请参阅此MCR Doc以获取Azure Functions - Docker上下文中支持的Python版本到Azure Functions核心工具版本的列表