我有一个使用Visual Studio在本地创建的天蓝色功能。我正在尝试使用terraform部署azure函数,但是它引发了错误
我正在尝试的代码如下所示:
resource "azurerm_function_app" "testDeployTF" {
name = "testDeployADddecendant"
location = "${azurerm_resource_group.rg-testDeployTF.location}"
resource_group_name = "${azurerm_resource_group.rg-testDeployTF.name}"
app_service_plan_id = "${azurerm_app_service_plan.sp-testDeployTF.id}"
storage_connection_string = "DefaultEndpointsProtocol=https;AccountName=xxxx;AccountKey=xxxxxxxxxxx;EndpointSuffix=core.windows.net"
app_settings {
HASH = "${base64sha256(file("FunctionApp1.zip"))}"
WEBSITE_USE_ZIP = "https://${decendant.sa-testDeployTF.name}.blob.core.windows.net/${azurerm_storage_container.sc-testDeployTF.name}/${azurerm_storage_blob.sb-testDeployTF.name}${data.azurerm_storage_account_sas.sas-testDeployTF.sas}"
}
}
如果我删除了app_setting,那么代码会创建一个新的空函数,但是我想要的是我需要一个新函数,并将其放在我的本地代码中。
当我使用app_seettings时,以上代码引发以下错误:
错误:不支持的块类型
在Terraformscript.tf第78行的资源“ azurerm_function_app”“ testDeployTF”中: 78:app_settings {
这里不希望出现“ app_settings”类型的块。
答案 0 :(得分:1)
对于您的问题,您仅可以使用Terraform创建一个空的Azure函数,而不使用您的代码。另外,当您在本地使用Visual Studio时,它会为您创建一个空函数,然后使用azure-function-core-tool为您复制代码。
您可以查看有关azure-function-core-tool的详细信息。并且当您使用Azure CLI时,它还需要使用该工具,请参阅Create your first function from the command line中的步骤。
答案 1 :(得分:0)
我在谷歌搜索 terraform 错误时偶然发现了这个问题。您可以在 app_settings
后简单地添加一个等号。
app_settings = {
Key = "Value"
}