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

如何在GCP组织中创建新项目时触发Cloud Functions?

解决GCP组织内新建项目触发Cloud Functions的方案

嘿,我来帮你梳理几个靠谱的方案,解决在GCP组织内创建新项目时触发脚本的问题:

方法1:启用组织级审计日志+Cloud Logging触发器

你说在组织级别没找到新建项目的日志,大概率是组织级的Resource Manager审计日志没启用。默认情况下,组织级的部分审计日志是关闭的,得手动开启:

  • 登录GCP控制台,切换到组织层级
  • 进入「IAM与管理」>「审计日志」
  • 找到「Cloud Resource Manager API」,勾选「数据写入操作」(里面包含projects.create事件),保存配置

等开启后,新建项目的日志就会出现在组织级的Cloud Logging里了。接下来可以给Cloud Functions配置日志触发器:

  • 创建Cloud Functions时,选择「Cloud Logging」作为触发器类型
  • 设置日志过滤器:
    protoPayload.methodName="google.cloud.resourcemanager.v3.Projects.CreateProject" AND protoPayload.serviceName="cloudresourcemanager.googleapis.com"
    
  • 这样每次组织内有新项目创建,这条日志就会触发你的函数执行。

方法2:用Cloud Asset Inventory的资源变更通知

Cloud Asset Inventory专门用来监控GCP资源的变更,包括新项目创建,这个方案更直接:

  • 进入「Cloud Asset Inventory」>「通知」页面
  • 创建新通知,配置项如下:
    • 资源类型选择cloudresourcemanager.googleapis.com/Project
    • 事件类型勾选「CREATED」
    • 关联一个Pub/Sub主题(如果没有就新建一个)
  • 然后给你的Cloud Functions配置Pub/Sub触发器,订阅刚才的主题
  • 当组织内有新项目创建时,Cloud Asset会自动往Pub/Sub发消息,触发你的函数。

方法3:定期轮询Resource Manager API(兜底方案)

如果上面的事件驱动方案都有问题,还可以用定期轮询的方式兜底:

  • 用Cloud Scheduler创建一个定时任务(比如每分钟执行一次)
  • 任务调用Cloud Functions,函数里调用projects.list或者search.allResources API获取组织内的所有项目
  • 把项目列表和之前存在存储(比如Cloud Storage或者Firestore)里的列表对比,找出新创建的项目,然后执行你的脚本逻辑
  • 记得更新存储里的项目列表,避免重复触发。

这些方案里,我最推荐方法2,因为Cloud Asset Inventory的资源变更通知是专门为这类场景设计的,配置起来更简单,也更可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 15:47:43