列出服务

本文介绍了如何列出 Google Cloud 项目中已启用或可用的 API 和服务。可用或已启用的 API 和服务的列表可以包含公共 Google Cloud 服务(如 Pub/Sub)以及任何以私密方式共享给您的 API 和服务(例如使用 Cloud Endpoints 创建的服务)。如需详细了解公共和专用 API 和服务之间的差异,请参阅公共服务和专用服务

  • 如需获取或监控组织已启用的服务,请参阅列出组织中已启用的服务
  • 如需列出项目中的服务,我们建议您使用 Google Cloud 控制台或 Google Cloud CLI。本文档介绍了如何使用这两个接口。
  • 如需针对 Service Usage API 进行编程,请使用我们提供的某个客户端库
  • 如需试用此 API,我们建议您使用 curl 命令。您无需设置完整的应用环境;不过,有一些设置是必须的。

准备工作

要列出已启用和可用的 API 和服务,需满足以下条件:

  • Google Cloud 项目。如需了解如何创建 Google Cloud 项目,请参阅创建和管理项目
  • 正确的 Identity and Access Management 权限。如需了解 Service Usage 的 IAM 要求,请参阅访问权限控制
  • 安装 Google Cloud CLI
  • 如果您要使用本指南中的 curl 示例,请确保按照使用入门中的说明完成初始设置。 这些步骤包括定义 gcurl(这是标准 curl 命令的经过身份验证的别名)和定义环境变量 PROJECT_NUMBER

列出组织中已启用的服务

如需列出组织中启用了哪些服务,请使用 Cloud Asset Inventory,它允许在单次 RPC 调用中导出组织控制下的所有项目的状态。Cloud Asset Inventory 还可用于监控状态变化。如需导出特定组织的所有已启用服务,请按照 Cloud Asset Inventory 文档中的列出资产部分中的说明操作。

如需列出组织已启用的 API,请在设置组织和结算项目 ID 后运行以下命令:

NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ")
gcloud asset list \
--organization='ORGANIZATION_ID' \
--billing-project='BILLING_PROJECT_ID' \
--asset-types='serviceusage.googleapis.com/Service' \
--snapshot-time=$NOW \
--content-type='resource'

执行上述命令后,具有足够特权的用户可以列出组织中所有项目的一组已启用服务。

如需试用 Cloud Asset Inventory 命令,请将这些命令应用于特定项目。例如,以下命令会列出特定项目的所有已启用服务:

NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ")
gcloud asset list \
--project='PROJECT_ID' \
--billing-project='BILLING_PROJECT_ID' \
--asset-types='serviceusage.googleapis.com/Service' \
--snapshot-time=$NOW \
--content-type='resource'

列出项目中已启用的服务

列出已启用的服务会使用 serviceusage.googleapis.com/list_enabled_requests 配额指标中的配额。默认可用配额为每秒 10 次查询 (QPS)。

控制台

要列出项目中已启用的 API 和服务,请执行以下操作:

  1. 前往 Google Cloud 控制台的 API 信息中心页面。
    前往“API 信息中心”页面
  2. 通过执行以下任一操作来选择 Google Cloud 项目:

    • 选择近期的项目下点击 Google Cloud 项目。

    • 通过执行以下步骤,使用 Google Cloud 项目浏览器:

      1. 点击选择项目以打开 Google Cloud 项目浏览器。
      2. 找到您的项目,然后点击 Google Cloud 项目名称。
      3. 点击打开以打开项目。

    此时会显示 API 和服务页面。您可以在本页表格中找到您的 Google Cloud 项目中启用的 API 列表。

gcloud

如需列出当前项目中已启用的 API 和服务,请运行以下命令:

gcloud services list

该命令生成类似于以下内容的输出:

NAME                                              TITLE
pubsub.googleapis.com             Google Cloud Pub/Sub API
bigquery.googleapis.com           BigQuery API
cloudtrace.googleapis.com         Stackdriver Trace API
servicemanagement.googleapis.com  Google Service Management API
monitoring.googleapis.com         Stackdriver Monitoring API
storage-api.googleapis.com        Google Cloud Storage JSON API
logging.googleapis.com            Stackdriver Logging API
clouddebugger.googleapis.com      Stackdriver Debugger API
...

curl

如需列出已启用的服务,请使用 state:ENABLED 过滤条件调用 services.list 方法。

如需列出项目中已启用的 API 和服务,请运行以下命令:

gcurl "https://serviceusage.googleapis.com/v1/projects/${PROJECT_NUMBER}/services?filter=state:ENABLED"

列出项目中的可用服务

列出所有可用服务会使用 serviceusage.googleapis.com/list_available_requests 配额中的配额。默认可用配额为 1 QPS。一组可用服务很少发生变化,并且可以缓存很长时间。

控制台

要列出项目中可用的 API 和服务,请执行以下操作:

  1. 前往 Google Cloud 控制台的 API 库页面。
    转到“API 库”页面
  2. 通过执行以下任一操作来选择 Google Cloud 项目:

    • 选择近期的项目下点击 Google Cloud 项目。

    • 通过执行以下步骤,使用 Google Cloud 项目浏览器:

      1. 点击选择项目以打开 Google Cloud 项目浏览器。
      2. 找到您的项目,然后点击 Google Cloud 项目名称。
      3. 点击打开以打开项目。

    系统会显示 API 库屏幕。您可以在此屏幕中搜索或滚动浏览可用的 API。

gcloud

如需列出当前项目中可用的 API 和服务,请运行以下命令:

gcloud services list --available

结果包括已启用的任何服务,以及可为当前项目启用的服务。 该命令生成类似于以下内容的输出:

NAME                                              TITLE
places-backend.googleapis.com                  Google Places API Web Service
clouderrorreporting.googleapis.com             Stackdriver Error Reporting API
analyticsreporting.googleapis.com              Google Analytics Reporting API
youtube.googleapis.com                         YouTube Data API v3
adsense.googleapis.com                         AdSense Management API
sqladmin.googleapis.com                        Google Cloud SQL API
genomics.googleapis.com                        Genomics API
adexchangebuyer.googleapis.com                 Ad Exchange Buyer API II
...

curl

如需列出可用服务,请调用 services.list 方法。

如需列出项目中可用的 API 和服务,请运行以下命令:

gcurl "https://serviceusage.googleapis.com/v1/projects/${PROJECT_NUMBER}/services"

结果包括所有公共服务、调用用户具有 servicemanagement.services.bind 权限的所有服务,以及已在项目中启用的所有服务。

您可以通过将 filter=state:DISABLED 传递给上一个调用来排除项目中当前处于活动状态的服务。

后续步骤

如需了解如何在 Google Cloud 项目中启用或停用服务,请参阅启用和停用服务