当前位置: 首页 > 知识库问答 >
问题:

使用terraform部署composer资源(GCP)时出现错误消息

司徒杜吟
2023-03-14

我有一个错误与terraform代码,而部署GCP作曲家资源:

  • google_composer_environment.composer-beta: googleapi:错误400:属性密钥必须是形式部分-名称部分不能包含开始方括号、结束方括号或连字符,并且name不能包含分号或等号。整个属性密钥可能不包含句点。, badRequest

在部署GCP资源时,会出现以下问题:https://www.terraform.io/docs/providers/google/r/composer_environment.html

这是我的代码:

变量。tf文件:

variable "composer_airflow_version" {
  type = "map"
  default = {
    image_version="composer-1.6.1-airflow-1.10.1"
  }
}

variable "composer_python_version" {
  type = "map"
  default = {
    python_version="3"
  }
}

我的作曲家。tf文件:

resource "google_composer_environment" "composer-beta" {
  provider= "google-beta"
  project = "my-proyect"
  name    = "${var.composer_name}"
  region  = "${var.region}"
  config {
    node_count = "${var.composer_node_count}"

  node_config {
    zone         = "${var.zone}"
    machine_type = "${var.composer_machine_type}"
    network      = "${google_compute_network.network.self_link}"
    subnetwork   = "${lookup(var.vpc_subnets_01[0], "subnet_name")}"
  }

  software_config {
    airflow_config_overrides="${var.composer_airflow_version}",
    airflow_config_overrides="${var.composer_python_version}",
  }
  }

  depends_on = [
    "google_service_account.comp-py3-dev-worker",
    "google_compute_subnetwork.subnetwork",
  ]
}

根据错误消息,错误的根本原因似乎与terraform代码中的软件配置部分有关。我知道变量“composer_airflow_version”和“composer_python_version”应该是“map”类型,因此,我将它们设置为map格式。

如果有人能找出错误的原因,并告诉我适用的调整,我真的很感激。很可能我应该应用变量的变化,但我不知道它是什么。:-(

提前谢谢你,何塞

共有1个答案

上官波鸿
2023-03-14

根据文档,气流配置覆盖、pypi配置包、环境变量、图像配置版本和python配置版本应直接位于软件配置下。

变量。tf文件:

variable "composer_airflow_version" {
  default = "composer-1.6.1-airflow-1.10.1"
}

variable "composer_python_version" {
  default = "3"
}

我的作曲家。tf文件:

resource "google_composer_environment" "composer-beta" {
  provider= "google-beta"
  project = "my-proyect"
  name    = "${var.composer_name}"
  region  = "${var.region}"
  config {
    node_count = "${var.composer_node_count}"

    node_config {
      zone         = "${var.zone}"
      machine_type = "${var.composer_machine_type}"
      network      = "${google_compute_network.network.self_link}"
      subnetwork   = "${lookup(var.vpc_subnets_01[0], "subnet_name")}"
    }

    software_config {
      image_version  = "${var.composer_airflow_version}",
      python_version = "${var.composer_python_version}",
    }
  }

  depends_on = [
    "google_service_account.comp-py3-dev-worker",
    "google_compute_subnetwork.subnetwork",
  ]
}
 类似资料:
  • 我正在使用以下内容: NetBeans IDE 7.3(构建:201306052037) Java:1.7.0_17;Java热点(TM)64位服务器VM 23.7-b01 NetBeans集成GlassFish服务器开源版3.1.2.2(构建5) 我用NetBeans创建了一个RESTful Web服务,并将其部署在NetBeans下,效果良好。 因此,我将生成的.war文件复制到另一台机器,该

  • 我正在尝试安装yii2alpha。下载composer并添加后运行以下命令时 去composer.json. 我得到以下错误。 问题1-在任何版本中都找不到请求的包最低稳定性,包名中可能有输入错误。 问题2-在任何版本中都找不到请求的包yiisoft/yii2 composer,包名中可能有输入错误。 问题3-在任何版本中都找不到请求的包yiisoft/yii2框架,包名中可能有输入错误。 潜在原

  • 我试图在GlassFish server 4.1.0中部署ADF 12.1.3应用程序,但在部署过程中出现以下错误:将ADF essentials 3.1.2复制到GlassFish中的lib文件夹,ADF应用程序为12.1.3版本,GlassFish版本为4.1.0 部署过程中发生错误:部署应用程序时出现异常[MegatronApplicationOCS_07012015]:org.xml.sa

  • 我想部署我的节点应用程序到应用引擎,并使用云sql mysql和后遗症用于ORM,但我在部署时得到以下错误,没有进一步的信息需要调试。 我的yaml是(带有经过编辑的详细信息): 无法连接到SQL数据库:未定义未捕获错误{文件名:“/app/node_modules/sequelize/lib/dialts/mysql/connection-manager.js”,行:133,行:19,消息:“c

  • 我已经设置和快速服务器上运行Firebase云功能。现在,我试图使用CLI使用“Firebase部署-仅函数”将其部署到Firebase,但每次都失败,说有一个意外的令牌。我怀疑在index.js文件中使用异步箭头函数有问题,但我不确定,我也需要它们来完成我的项目。 这是索引。js文件: 以下是我在尝试运行firebase deploy(仅限函数)时遇到的错误: ==部署到“homunculus-

  • 每次都会出现以下错误!有相同的修复方法吗? 2021-10-07T10:47:31.133956 00:00heroku[路由器]: at=错误代码=H10 desc="应用程序崩溃"方法=GET路径="/"主机=zturlshortener.herokuapp.comrequest_id=c2f90e55-52f5-4955-a1d6-4028456cfddb fwd="103.199.173.