本文档介绍了如何删除 Pub/Sub 主题的架构修订版本。删除架构的操作也会删除与该架构关联的所有修订版本。
准备工作
- 了解 Pub/Sub 架构的运作方式。
- 创建架构。
所需的角色和权限
如需获得删除和管理架构修订版本所需的权限,请让您的管理员为您授予项目的 Pub/Sub Editor (roles/pubsub.editor
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含删除和管理架构修订所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需删除和管理架构修订版本,需要具备以下权限:
-
创建架构:
pubsub.schemas.create
-
将架构附加到主题:
pubsub.schemas.attach
-
提交架构修订版本:
pubsub.schemas.commit
-
删除架构或架构修订版本:
pubsub.schemas.delete
-
获取架构或架构修订版本:
pubsub.schemas.get
-
列表架构:
pubsub.schemas.list
-
列出架构修订版本:
pubsub.schemas.listRevisions
-
回滚架构:
pubsub.schemas.rollback
-
验证消息:
pubsub.schemas.validate
-
获取架构的 IAM 政策:
pubsub.schemas.getIamPolicy
-
为架构配置 IAM 政策:
pubsub.schemas.setIamPolicy
您可以向主账号(例如用户、群组、网域或服务账号)授予角色和权限。您可以在一个项目中创建架构,并将其附加到位于其他项目中的主题。确保您对每个项目拥有所需的权限。
删除架构修订版本
以下是删除架构修订版的一些重要准则:
您可以从架构中删除一个或多个架构修订版本。
如果架构只有一个修订版本,您将无法删除该修订版本。请改为删除架构。
删除架构的操作也会删除与该架构关联的所有修订版本。
如果您删除架构,则向与该架构关联的主题发布消息将失败。
如果您删除了架构修订版本,并且该修订版本被指定为主题的第一个修订版本,系统会改用下一个修订版本进行验证。
如果已删除的架构修订版本被指定为主题的最后一个修订版本,系统会改为使用上一个架构修订版本进行验证。
如果已删除的架构修订版本在要验证的主题的指定修订版本范围内,系统会跳过该修订版本。
您可以使用 Google Cloud 控制台、gcloud CLI、Pub/Sub API 或 Cloud 客户端库删除架构修订版。
控制台
在 Google Cloud 控制台中,前往 Pub/Sub 架构页面。
点击现有架构的名称。
系统会打开相应架构的架构详情页面。
选择要删除的修订版本。 您还可以选择多个修订版。
点击删除修订版本。
确认删除操作。
gcloud
gcloud pubsub schemas delete-revision SCHEMA_NAME@REVISION_ID
其中:
- REVISION_ID 是您要回滚到的修订版本。
REST
如需删除架构修订版,请发送如下所示的 DELETE 请求:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID@REVISION_ID:deleteRevision Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
响应正文应包含已删除架构资源的 JSON 表示法。
C++
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
Go
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Pub/Sub Go API 参考文档。
Java
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Pub/Sub Java API 参考文档。
Python
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Pub/Sub Python API 参考文档。
Node.js
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。
Node.js
在尝试此示例之前,请按照《快速入门:使用客户端库》中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Node.js API 参考文档。