You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform实现Pub/Sub触发Cloud Function的问题求助

解决方案

错误原因分析

  1. 尝试1错误根源:
    你写的resource路径格式不符合GCP资源命名规范,正确路径开头应为projects而非project。错误写法导致Terraform生成了重复嵌套的路径projects/myprojectID/topics/project/myprojectID/topics/my_topic,触发Pub/Sub格式校验报错。

  2. 尝试2错误根源:
    event_trigger块中的resource字段要求传入字符串,你传入了对象类型,不符合Terraform的schema定义,因此报错。

正确实现方式

提供两种可行写法,选其一即可:

方式1:使用专门的pubsub_topic字段(推荐,语义更清晰)

event_trigger {
  event_type    = "google.pubsub.topic.publish"
  pubsub_topic  = "projects/${var.project_id}/topics/${var.environment}_my_topic"
}

方式2:修正resource字段的路径格式

event_trigger {
  event_type    = "google.pubsub.topic.publish"
  resource      = "projects/${var.project_id}/topics/${var.environment}_my_topic"
}

补充说明

确保变量已正确定义(示例variables.tf):

variable "project_id" {
  type        = string
  description = "GCP项目ID"
}

variable "environment" {
  type        = string
  description = "环境标识(如dev/prod)"
}

内容的提问来源于stack exchange,提问作者Sekhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:15:13