временная ошибка azurerm_function_app — «Операция не поддерживается: обновление VSTSRM не поддерживается»

#azure #azure-devops #terraform-provider-azure #azure-function-app

#лазурный #azure-devops #terraform-provider-azure #azure-function-app

Вопрос:

Я создал функциональное приложение Azure с помощью Terraform, а затем внедрил в него исходный код функционального приложения через конвейеры Azure DevOps CI и CD.

Затем я развернул сценарии Terraform с некоторыми изменениями, после чего при первом выполнении я получаю следующую ошибку. Но если я повторно переназначил эти сценарии TF, то я не получаю приведенную ниже ошибку:

Ошибка: не удалось создать систему управления версиями службы приложений для «» (группа ресурсов «»): web.AppsClient#CreateOrUpdateSourceControl: Сбой при отправке запроса: StatusCode= 400 — Исходная ошибка: Code = сообщение»BadRequest» =»Операция не поддерживается: RepoUrl VSTSRM не поддерживается». Подробности=[{«Сообщение»:»Операция не поддерживается: RepoUrl VSTSRM не поддерживается supported.»},{«Code»:»BadRequest»},{«ErrorEntity»:{«Code»:»BadRequest»,»ExtendedCode»:»51024″,»Message»:»Operation не поддерживается: RepoUrl VSTSRM не поддерживается.»,»MessageTemplate»:»Операция не поддерживается: {0}»,»Параметры»: [«RepoUrl VSTSRM не поддерживается.»]}}]

Я использую следующую конфигурацию terraform:

  terraform {
  required_version = ">=0.14"
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~>2.40.0"
    }
}
 

Файл конфигурации терраформирования функционального приложения:

 resource "azurerm_function_app" "function_app" {
  name                       = var.fn_name
  resource_group_name        = var.rg_name
  location                   = var.location
  tags                       = var.tags
  app_service_plan_id        = var.app_service_plan_id
  storage_account_name       = var.sa_name
  storage_account_access_key = var.sa_primary_access_key

  version = var.runtime_version

  enabled    = var.enabled
  https_only = var.https_only

  client_affinity_enabled = var.client_affinity_enabled

  app_settings = {
    FUNCTIONS_WORKER_RUNTIME       = "dotnet"
    WEBSITE_NODE_DEFAULT_VERSION   = "10.14.1"
    FUNCTION_APP_EDIT_MODE         = "readonly"
    WEBSITE_RUN_FROM_PACKAGE       = "1"
    APPINSIGHTS_INSTRUMENTATIONKEY = var.instrumentation_key
  }
  identity {
    type         = var.identity_type
    identity_ids = var.identity_type == "UserAssigned" ? var.identity_ids : null
  }
  site_config {
    always_on = var.always_on
    scm_type  = "None"
    cors {
      allowed_origins     = var.cors_allowed_origins
      support_credentials = var.cors_support_credentials
    }
  }
  lifecycle {
    ignore_changes = [
      app_settings["WEBSITE_RUN_FROM_PACKAGE"],
      site_config["scm_type"]
    ]
  }
}
 

Шаги для воспроизведения:

  1. Развертывание конфигурации terraform
  2. Развертывание кода приложения функции с помощью задачи службы приложений Azure devops
  3. Внесите изменения в конфигурацию terraform (это может быть даже необязательно)
  4. Повторное развертывание terraform

Прежде чем опубликовать вопрос здесь, я потратил много времени на эту проблему в Google, а затем нашел несколько статей, связанных с этой проблемой. Но проблема остается той же самой.

временная ошибка azurerm_app_service — «Возврат VSTSRM не поддерживается»

Итак, не могли бы вы, пожалуйста, подсказать мне, как устранить вышеуказанную ошибку.

Комментарии:

1. Вы пробовали добавить site_config { scm_type = «VSTSRM» } ?

2. Похоже, это известная проблема с терраформированием, о которой сообщается здесь: github.com/terraform-providers/terraform-provider-azurerm /… , вы могли бы попробовать обходной путь mattduguid: github.com/terraform-providers/terraform-provider-azurerm /…

3. @AndreyBilous, я пробовал { scm_type = "VSTSRM" } использовать этот вариант. Но проблема не устранена.

4. @EdwardHan-MSFT, я попробовал обходной путь mattduguid: github.com/terraform-providers/terraform-provider-azurerm /. … Но проблема та же самая.

5. Похоже, что эта проблема сохраняется в более поздней версии Terraform (версия> = 0.14), мы рекомендуем вам следовать этой теме: github.com/terraform-providers/terraform-provider-azurerm / … чтобы получить последние отзывы о группе продуктов.