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

如何使用Deployment Manager启用GCP指定云服务API

通过Deployment Manager启用GCP服务API的实操方案

不需要手动提前在新项目里逐个开启API,直接在现有DM模板中声明服务启用资源即可,具体操作如下:

1. 确认待启用服务的正确标识

你提到的几个服务对应的API标识如下,注意不要写错名称:

  • Cloud Scheduler:cloudscheduler.googleapis.com
  • Pub/Sub:pubsub.googleapis.com
  • BigQuery:bigquery.googleapis.com
  • Cloud Storage(对象存储Bucket对应服务):storage-api.googleapis.com,如果需要完整存储管控能力可额外添加storage-component.googleapis.com
  • Cloud Build:cloudbuild.googleapis.com
  • Cloud Functions:cloudfunctions.googleapis.com

建议显式声明两个基础依赖API避免异常:deploymentmanager.googleapis.com、servicemanagement.googleapis.com,这两个是DM运行和服务启用能力的基础。

2. 在模板中添加API启用资源,配置部署依赖

使用DM内置的servicemanagement.services.enable资源类型定义API启用动作,必须将这类资源放在所有业务资源的最前面,且给后续业务资源配置显式依赖,避免DM并行创建资源时,API还没生效就开始创建业务资源触发报错。
示例模板片段(YAML格式,支持DM内置变量自动获取当前项目ID):

resources:
# 批量定义待启用的API
- name: enable-cloudscheduler
  type: gcp-types/servicemanagement-v1:servicemanagement.services.enable
  properties:
    serviceName: cloudscheduler.googleapis.com
    consumerId: projects/{{ env["project"] }}

- name: enable-pubsub
  type: gcp-types/servicemanagement-v1:servicemanagement.services.enable
  properties:
    serviceName: pubsub.googleapis.com
    consumerId: projects/{{ env["project"] }}

- name: enable-bigquery
  type: gcp-types/servicemanagement-v1:servicemanagement.services.enable
  properties:
    serviceName: bigquery.googleapis.com
    consumerId: projects/{{ env["project"] }}

- name: enable-storage
  type: gcp-types/servicemanagement-v1:servicemanagement.services.enable
  properties:
    serviceName: storage-api.googleapis.com
    consumerId: projects/{{ env["project"] }}

- name: enable-cloudbuild
  type: gcp-types/servicemanagement-v1:servicemanagement.services.enable
  properties:
    serviceName: cloudbuild.googleapis.com
    consumerId: projects/{{ env["project"] }}

- name: enable-cloudfunctions
  type: gcp-types/servicemanagement-v1:servicemanagement.services.enable
  properties:
    serviceName: cloudfunctions.googleapis.com
    consumerId: projects/{{ env["project"] }}

# 下方放置原有业务资源,所有资源都要加对应依赖,以下为Pub/Sub主题示例
- name: my-pubsub-topic
  type: gcp-types/pubsub-v1:projects.topics
  properties:
    topic: order-event-topic
  metadata:
    dependsOn:
      - enable-pubsub # 依赖上面定义的Pub/Sub API启用资源

如果用Jinja/Python模板编写DM配置,可以直接用循环批量生成API启用资源,减少冗余代码。

3. 部署前权限检查

执行部署操作的身份(个人账号、或DM使用的服务账号)需要拥有servicemanagement.services.enable权限,项目内置的Owner、Editor角色默认包含该权限,使用自定义角色的话提前加上对应权限即可。

API启用过程通常需要1-2分钟,DM会自动等待API启用资源创建完成后再执行后续依赖资源的部署,不需要手动加等待逻辑。配置完成后直接正常执行部署命令即可,不需要额外做其他手动操作。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 16:51:27