使用Terraform部署Azure函数应用报错:资源名称无效
问题解决方法
报错的核心原因不是Azure函数应用的名称testfunction13515不符合规则,而是你Terraform资源的本地引用名称function app包含了空格,违反了Terraform对资源标识符的命名要求。
Terraform规定资源本地名称必须以字母或下划线开头,且只能包含字母、数字、下划线和连字符,不允许有空格。
修正后的代码如下:
resource "azurerm_linux_function_app" "function_app" { name = "testfunction13515" resource_group_name = azurerm_resource_group.automation_rg.name location = var.location site_config {} }
这里把function app替换为function_app(也可以用functionapp这类无空格的名称),就能解决这个错误。
需要注意:Terraform的资源本地名称是配置内部用来引用资源的标识,和Azure门户中显示的资源名称是两个完全独立的概念,前者遵循Terraform的规则,后者遵循Azure自身的资源命名规范,这也是你在Azure门户部署没问题,但Terraform报错的原因。
内容的提问来源于stack exchange,提问作者pieter-jan goeman
相关产品推荐
相关产品推荐

