googleapi:错误 403:权限 'cloudfunctions.functions.create' 资源被拒绝

googleapi: Error 403: Permission 'cloudfunctions.functions.create' denied on resource

我正在尝试使用 terraform 创建 GCP 函数。使用 gcloud SDK 默认登录进行身份验证。

创建函数的代码:

resource "google_cloudfunctions_function" "test"{
  name = "python-app-function"
  project = var.projNumber
  region = "europe-central2"
  runtime = "python39"
  trigger_http = true
  source_archive_bucket = google_storage_bucket.bucket_for_python_application.name
  source_archive_object = google_storage_bucket.bucket_for_python_application.name
}

我知道source_archive_bucket = google_storage_bucket.bucket_for_python_application.name && source_archive_object = google_storage_bucket.bucket_for_python_application.name不对。

但是 google api 甚至不允许我开始创建一个函数:

因为我使用 SDK 自动登录进行身份验证,所以我给了自己所有可能的角色:

但是Owner角色已经拥有这个权限:

我卡住了。

您的资源定义中的 project 字段应设置为 项目 ID ,而不是项目编号(假设 var.projNumber 是您的项目编号) .

顺便说一句,如果您正在处理单个项目,您可以将项目直接放在您的提供程序块上,从而避免在所有资源中重复项目 ID :

provider "google" {
  project = "my-project-id"
  region  = "us-central1"
}