本文說明如何刪除 Pub/Sub 主題的結構定義修訂版本。刪除結構定義時,系統也會一併刪除與該結構定義相關的所有修訂版本。
事前準備
- 瞭解 Pub/Sub 結構定義的運作方式。
- 建立結構定義。
必要角色和權限
如要取得刪除及管理結構定義修訂版本所需的權限,請要求管理員授予您專案的「Pub/Sub 編輯者」 (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
-
取得結構定義的身分與存取權管理政策:
pubsub.schemas.getIamPolicy
-
設定結構定義的 IAM 政策:
pubsub.schemas.setIamPolicy
您可以將角色和權限授予主體,例如使用者、群組、網域或服務帳戶。您可以在一個專案中建立結構定義,並將其附加至位於其他專案的主題。請確認您具備每個專案的必要權限。
刪除結構定義修訂版本
以下是刪除結構定義修訂版本的重要規範:
您可以從結構定義中刪除一或多個結構定義修訂版本。
如果結構定義只有一個修訂版本,您就無法刪除該修訂版本。 請改為刪除結構定義。
刪除結構定義時,系統也會一併刪除與該結構定義相關聯的所有修訂版本。
刪除結構定義後,系統會禁止將訊息發布至與該結構定義相關聯的主題。
如果刪除結構定義修訂版本,且該版本指定為主題的第一個修訂版本,系統會改用下一個修訂版本進行驗證。
如果已刪除的結構定義修訂版本指定為主題的最後一個修訂版本,系統會改用先前的結構定義修訂版本進行驗證。
如果刪除的結構定義修訂版本位於主題的指定修訂版本範圍內,系統會略過該修訂版本。
您可以使用Google Cloud 控制台、gcloud CLI、Pub/Sub API 或 Cloud 用戶端程式庫,刪除結構定義修訂版本。
控制台
前往 Google Cloud 控制台的「Pub/Sub schemas」(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 參考說明文件。