本文档介绍如何删除 Pub/Sub 主题。如需删除主题,您可以使用 Google Cloud 控制台、Google CLI、客户端库或 Pub/Sub API。
准备工作
所需的角色和权限
如需获取删除和管理主题所需的权限,请让管理员授予您针对主题或项目的 Pub/Sub Editor(roles/pubsub.editor
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。
此预定义角色包含删除主题和管理主题所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需删除和管理主题,您需要具备以下权限:
-
创建主题:
pubsub.topics.create
-
删除主题:
pubsub.topics.delete
-
将订阅与主题分离:
pubsub.topics.detachSubscription
-
获取主题:
pubsub.topics.get
-
列出主题:
pubsub.topics.list
-
发布到主题:
pubsub.topics.publish
-
更新主题:
pubsub.topics.update
-
获取主题的 IAM 政策:
pubsub.topics.getIamPolicy
-
为主题配置 IAM 政策:
pubsub.topics.setIamPolicy
您可以在项目级和单个资源级配置访问权限控制。您可以在一个项目中创建订阅,并将其附加到位于其他项目中的主题。确保您拥有每个项目所需的权限。
删除主题
当您删除某个主题时,其订阅不会被删除。订阅者可以查看来自订阅的消息积压消息。在主题被删除后,其订阅的主题名称为 _deleted-topic_
。如果您尝试创建与您刚刚删除的主题同名的主题,则可能会出现短暂的错误。
控制台
在 Google Cloud 控制台中,转到 Pub/Sub 主题页面。
选择一个主题,然后点击
更多操作。点击删除。
系统随即会显示删除主题窗口。
输入
delete
,然后点击删除。
gcloud
-
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。
-
如需删除主题,请使用
gcloud pubsub topics delete
命令:gcloud pubsub topics delete TOPIC_ID
REST
如需删除主题,请使用 projects.topics.delete
方法:
请求:
必须使用 Authorization
标头中的访问令牌对请求进行身份验证。如需获取当前应用默认凭据的访问令牌,请运行以下命令:gcloud auth application-default print-access-token
。
DELETE https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID Authorization: Bearer ACCESS_TOKEN
其中:
响应:
如果请求成功,响应将为空的 JSON 对象。
C++
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
C#
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 C# 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Go
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 Go 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 Java 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
PHP
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 PHP 设置说明进行操作。如需了解详情,请参阅 Pub/Sub PHP API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 Python 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 Ruby 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。