Развертывание приложения Terraform Azure Function - Представление настроек

Я пытаюсь развернуть приложение-функцию Azure через Terraform

Я получаю следующие ошибки при попытке представить настройки приложения-функции:

Ошибка: azurerm_function_app.func-app-1: неверный или неизвестный ключ: always_on

Ошибка: azurerm_function_app.func-app-1:: неверный или неизвестный ключ: use_32_bit_worker_process

Ошибка: azurerm_function_app.func-app-1:: неверный или неизвестный ключ: websockets_enabled

Ниже приведен код, который я использую:

            resource "azurerm_function_app" "func-app-1" {
            name = "${var.func_app_1}"
            location = "${data.azurerm_resource_group.core-rg.location}"

            resource_group_name = "${data.azurerm_resource_group.core-rg.name}"

            app_service_plan_id = "${data.azurerm_app_service_plan.app-service-plan-1.id}"

            storage_connection_string = "${data.azurerm_storage_account.storage-account-1.primary_connection_string}"

            version                   = "~1"
            https_only                = "true"
            enabled                   = "true"
            always_on                 = "true"
            use_32_bit_worker_process = "false"
            websockets_enabled        = "true"
            client_affinity_enabled   = "false"

            app_settings {

            "FUNCTIONS_EXTENSION_VERSION" = "~1"

            "KeyVaultURI" = “”

            "WEBSITE_NODE_DEFAULT_VERSION" = "6.5.0"

            }

            }

Любая помощь будет оценена

Спасибо

1 ответ

Решение

Я считаю, что вам нужно добавить те значения, которые содержат ошибки в блоке site_config, в соответствии с документами здесь: https://www.terraform.io/docs/providers/azurerm/d/app_service.html

Вам нужно определить настройки приложения в variables.tf

resource "azurerm_function_app" "func-app-1" {
            name = "${var.func_app_1}"
            location = "${data.azurerm_resource_group.core-rg.location}"

            resource_group_name = "${data.azurerm_resource_group.core-rg.name}"

            app_service_plan_id = "${data.azurerm_app_service_plan.app-service-plan-1.id}"

            storage_connection_string = "${data.azurerm_storage_account.storage-account-1.primary_connection_string}"

            version                   = "~1"
            https_only                = "true"
            enabled                   = "true"
            always_on                 = "true"
            use_32_bit_worker_process = "false"
            websockets_enabled        = "true"
            client_affinity_enabled   = "false"
            app_settings              = "${var.app_settings}"
}

В variables.tf

variable "app_settings" {
    description = "A key-value pair of App Settings"
    default     = {
        "FUNCTIONS_EXTENSION_VERSION" = "~1",
        "KeyVaultURI" = “”,
        "WEBSITE_NODE_DEFAULT_VERSION" = "6.5.0"
    }
}

Пожалуйста, определите то же самое в site_config. Пожалуйста, обратитесь к приведенному ниже коду. Вы можете добавить дальше

resource "azurerm_function_app" "prod" {
  name                      = "${var.function_app_name}"
  location                  = "${azurerm_resource_group.prod.location}"
  resource_group_name       = "${azurerm_resource_group.prod.name}"
  app_service_plan_id       = "${azurerm_app_service_plan.prod.id}"
  storage_connection_string = "${azurerm_storage_account.prod.primary_connection_string}"
  version                   = "~2"
  app_settings = {
    APPINSIGHTS_INSTRUMENTATIONKEY              = "${azurerm_application_insights.prod.instrumentation_key}"
    FUNCTIONS_EXTENSION_VERSION                 = "~2"
    FUNCTIONS_WORKER_RUNTIME                    = "dotnet"
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING    = "${azurerm_storage_account.prod.primary_connection_string}"
    WEBSITE_CONTENTSHARE                        = "${var.storage_account_name}"
  }
  site_config {
    always_on   = "true"
  }
}
Другие вопросы по тегам