本文說明如何驗證 Pub/Sub 主題的結構定義。
您可以在建立結構定義資源之前或之後,驗證訊息是否符合特定結構定義。這個步驟可確保在套用結構定義之前,您透過與結構定義相關聯的主題傳送的訊息確實相符。
事前準備
- 瞭解 Pub/Sub 結構定義的運作方式。
- 建立結構定義。
必要角色和權限
如要取得驗證及管理結構定義訊息所需的權限,請要求管理員為您授予專案的 Pub/Sub 編輯者 (roles/pubsub.editor
) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色包含驗證和管理結構定義訊息所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要驗證及管理結構定義訊息,您必須具備下列權限:
-
建立結構定義:
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 控制台中,前往「Pub/Sub 結構定義」頁面。
畫面上會顯示結構定義清單。
按一下現有結構定義的「結構定義 ID」。
結構定義的「Schema details」(結構定義詳細資料) 頁面隨即開啟。
在「修訂版本」部分,按一下要驗證訊息的修訂版本。
在「詳細資料」部分,按一下「測試訊息」。
在「Test message」視窗中,選取「Message encoding」類型。
在「訊息」內文中輸入測試訊息。
按一下「Test」。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
- 如要根據結構定義驗證訊息,請使用 gcloud pubsub schemas validate-message 指令。
gcloud pubsub schemas validate-message --message=MESSAGE \ --message-encoding=MESSAGE_ENCODING \ (--schema-name=SCHEMA_NAME | \ --type=TYPE \ (--definition=DEFINITION | \ --definition-file=DEFINITION_FILE))
更改下列內容:
MESSAGE:用於驗證結構定義的訊息
MESSAGE_ENCODING:訊息編碼。請指定下列任一值:
binary
或json
。SCHEMA_NAME:現有結構定義的名稱或完整路徑。
TYPE:內嵌結構定義的類型。請指定下列其中一個值:
avro
或protocol-buffer
。DEFINITION:內嵌結構定義。
DEFINITION_FILE:包含結構定義的檔案。