Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Dokumen ini menunjukkan cara memvalidasi skema untuk topik Pub/Sub.
Anda dapat memvalidasi bahwa pesan mematuhi skema tertentu, sebelum atau setelah Anda membuat resource skema. Langkah ini memastikan bahwa pesan yang ingin Anda kirim melalui topik yang terkait dengan skema benar-benar cocok sebelum menerapkan skema.
Untuk mendapatkan izin yang diperlukan guna memvalidasi dan mengelola pesan skema, minta administrator untuk memberi Anda peran IAM Pub/Sub Editor (roles/pubsub.editor) di project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi
izin yang diperlukan untuk memvalidasi dan mengelola pesan skema. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk memvalidasi dan mengelola pesan skema:
Buat skema:
pubsub.schemas.create
Lampirkan skema ke topik:
pubsub.schemas.attach
Meng-commit revisi skema:
pubsub.schemas.commit
Menghapus skema atau revisi skema:
pubsub.schemas.delete
Mendapatkan skema atau revisi skema:
pubsub.schemas.get
Anda dapat memberikan peran dan izin kepada entity utama seperti pengguna, grup,
domain, atau akun layanan. Anda dapat membuat skema dalam satu project dan
melampirkannya ke topik yang berada di project lain.
Pastikan Anda memiliki izin yang diperlukan untuk setiap project.
Memvalidasi pesan untuk skema
Konsol
Di konsol Google Cloud , buka halaman Pub/Sub schemas.
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.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-19 UTC."],[],[],null,["This document shows you how to validate schemas for Pub/Sub topics.\n\nYou can validate that messages adhere to a certain schema,\nbefore or after you create a schema resource. This step ensures that\nthe messages you intend to send through a topic associated with a\nschema actually match before applying the schema.\n\nBefore you begin\n\n- Understand how [Pub/Sub schemas work](/pubsub/docs/schemas).\n- [Create a schema](/pubsub/docs/create-schemas).\n\nRequired roles and permissions\n\n\nTo get the permissions that\nyou need to validate schema messages and manage them,\n\nask your administrator to grant you the\n\n\n[Pub/Sub Editor](/iam/docs/roles-permissions/pubsub#pubsub.editor) (`roles/pubsub.editor`)\nIAM role on your project.\n\n\nFor more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\nThis predefined role contains\n\nthe permissions required to validate schema messages and manage them. To see the exact permissions that are\nrequired, expand the **Required permissions** section:\n\n\nRequired permissions\n\nThe following permissions are required to validate schema messages and manage them:\n\n- Create schema: ` ``pubsub.schemas.create`\n- Attach schema to topic: ` ``pubsub.schemas.attach`\n- Commit a schema revision: ` ``pubsub.schemas.commit`\n- Delete a schema or a schema revision: ` ``pubsub.schemas.delete`\n- Get a schema or schema revisions: ` ``pubsub.schemas.get`\n- List schemas: ` ``pubsub.schemas.list`\n- List schema revisions: ` ``pubsub.schemas.listRevisions`\n- Rollback a schema: ` ``pubsub.schemas.rollback`\n- Validate a message: ` ``pubsub.schemas.validate`\n- Get the IAM policy for a schema: ` ``pubsub.schemas.getIamPolicy`\n- Configure the [IAM policy](/iam/docs/reference/rest/v1/Policy) for a schema: ` ``pubsub.schemas.setIamPolicy`\n\n\nYou might also be able to get\nthese permissions\nwith [custom roles](/iam/docs/creating-custom-roles) or\nother [predefined roles](/iam/docs/roles-overview#predefined).\n\nYou can grant roles and permissions to principals such as users, groups,\ndomains, or service accounts. You can create a schema in one project and\nattach it to a topic located in a different project.\nEnsure that you have the required permissions for\neach project.\n\nValidate a message for a schema \n\nConsole\n\n1. In the Google Cloud console, go to the **Pub/Sub schemas** page.\n\n [Go to Schemas](https://console.cloud.google.com/cloudpubsub/schema)\n\n The list of schemas is displayed.\n2. Click the **Schema ID** of an existing schema.\n\n The **Schema details** page for the schema opens.\n3. In the **Revisions** section, click the revision for which you want to\n validate a message.\n\n4. In the **Details** section, click **Test message**.\n\n5. In the **Test message** window, select a type of **Message encoding**.\n\n6. In the **Message** body, enter a test message.\n\n7. Click **Test**.\n\ngcloud\n\n\n1. In the Google Cloud console, activate Cloud Shell.\n\n [Activate Cloud Shell](https://console.cloud.google.com/?cloudshell=true)\n\n\n At the bottom of the Google Cloud console, a\n [Cloud Shell](/shell/docs/how-cloud-shell-works)\n session starts and displays a command-line prompt. Cloud Shell is a shell environment\n with the Google Cloud CLI\n already installed and with values already set for\n your current project. It can take a few seconds for the session to initialize.\n2. To validate a message against a schema use the [gcloud pubsub schemas validate-message](/sdk/gcloud/reference/pubsub/schemas/validate-message) command.\n\n \u003cbr /\u003e\n\n ```\n gcloud pubsub schemas validate-message --message=MESSAGE \\\n --message-encoding=MESSAGE_ENCODING \\\n (--schema-name=SCHEMA_NAME | \\\n --type=TYPE \\\n (--definition=DEFINITION | \\\n --definition-file=DEFINITION_FILE))\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eMESSAGE\u003c/var\u003e: message to validate against the schema\n\n - \u003cvar translate=\"no\"\u003eMESSAGE_ENCODING\u003c/var\u003e: encoding of the message. Specify\n one of the following values: `binary` or `json`.\n\n - \u003cvar translate=\"no\"\u003eSCHEMA_NAME\u003c/var\u003e: name or full path of an existing schema.\n\n - \u003cvar translate=\"no\"\u003eTYPE\u003c/var\u003e: type of inline schema. Specify one of the\n following values: `avro`or `protocol-buffer`.\n\n - \u003cvar translate=\"no\"\u003eDEFINITION\u003c/var\u003e: inline schema definition.\n\n - \u003cvar translate=\"no\"\u003eDEFINITION_FILE\u003c/var\u003e: file containing the schema definition.\n\n\u003cbr /\u003e\n\nWhat's next\n\n- [Validate a schema definition when you create a topic](/pubsub/docs/create-schemas#create-schema)"]]