微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

azurerm_function_app 瞬态错误 - “不支持操作:不支持 RepoUrl VSTSRM”

如何解决azurerm_function_app 瞬态错误 - “不支持操作:不支持 RepoUrl VSTSRM”

我通过 terraform 创建了一个 azure 函数应用,然后通过 Azure DevOps CI 和 CD 管道将函数应用的源代码部署到其中。

接下来,我已经部署了 terraform 脚本并进行了一些修改,然后在第一次执行时出现以下错误。但是,如果我重新部署了那些 TF 脚本,则不会出现以下错误

错误:无法为“”(资源组“”)创建应用服务源代码管理:web.AppsClient#CreateOrUpdateSourceControl:发送请求失败:StatusCode=400 -- 原始错误:Code="BadRequest" Message="Operation not支持不支持 RepoUrl VSTSRM。”详细信息=[{"Message":"不支持操作:不支持 RepoUrl VSTSRM。"},{"Code":"BadRequest"},{"ErrorEntity":{"Code":"BadRequest","ExtendedCode": "51024","Message":"不支持操作:不支持 RepoUrl VSTSRM。","MessageTemplate":"不支持操作:{0}","Parameters":["不支持 RepoUrl VSTSRM。"]} }]

我正在使用以下 terraform 配置:

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

Function App terraform 配置文件

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. 重新部署地形

在这里发布问题之前,我在谷歌上花了很多时间在这个问题上,然后发现与这个问题相关的文章很少。但问题依旧。

azurerm_app_service transient error - "RepoUrl VSTSRM is not supported"

那么,请您建议我如何解决上述错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。