Questo documento mostra come convalidare gli schemi per gli argomenti Pub/Sub.
Puoi verificare che i messaggi rispettino un determinato schema prima o dopo aver creato una risorsa schema. Questo passaggio garantisce che i messaggi che intendi inviare tramite un argomento associato a uno schema corrispondano effettivamente prima di applicare lo schema.
Prima di iniziare
- Comprendere il funzionamento degli schemi Pub/Sub.
- Crea uno schema.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni necessarie per convalidare e gestire i messaggi dello schema, chiedi all'amministratore di concederti il ruolo IAM Editor Pub/Sub (roles/pubsub.editor
) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per convalidare e gestire i messaggi dello schema. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per convalidare e gestire i messaggi dello schema sono necessarie le seguenti autorizzazioni:
-
Crea schema:
pubsub.schemas.create
-
Allega lo schema all'argomento:
pubsub.schemas.attach
-
Esegui il commit di una revisione dello schema:
pubsub.schemas.commit
-
Elimina uno schema o una revisione dello schema:
pubsub.schemas.delete
-
Recuperare uno schema o le revisioni dello schema:
pubsub.schemas.get
-
Elenca schemi:
pubsub.schemas.list
-
Elenca le revisioni dello schema:
pubsub.schemas.listRevisions
-
Esegui il rollback di uno schema:
pubsub.schemas.rollback
-
Convalida un messaggio:
pubsub.schemas.validate
-
Recupera il criterio IAM per uno schema:
pubsub.schemas.getIamPolicy
-
Configura il criterio IAM per uno schema:
pubsub.schemas.setIamPolicy
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Puoi concedere ruoli e autorizzazioni a entità come utenti, gruppi, domini o service account. Puoi creare uno schema in un progetto e allegarlo a un argomento che si trova in un altro progetto. Assicurati di disporre delle autorizzazioni necessarie per ogni progetto.
Convalidare un messaggio per uno schema
Console
Nella Google Cloud console, vai alla pagina Schemi Pub/Sub.
Viene visualizzato l'elenco degli schemi.
Fai clic sull'ID schema di uno schema esistente.
Viene visualizzata la pagina Dettagli schema dello schema.
Nella sezione Revisioni, fai clic sulla revisione per cui vuoi convalidare un messaggio.
Nella sezione Dettagli, fai clic su Messaggio di test.
Nella finestra Messaggio di test, seleziona un tipo di Codifica messaggio.
Nel corpo del messaggio, inserisci un messaggio di prova.
Fai clic su 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.
- Per convalidare un messaggio in base a uno schema, utilizza il comando
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))
Sostituisci quanto segue:
MESSAGE: messaggio da convalidare rispetto allo schema
MESSAGE_ENCODING: codifica del messaggio. Specifica uno dei seguenti valori:
binary
ojson
.SCHEMA_NAME: il nome o il percorso completo di uno schema esistente.
TYPE: tipo di schema inline. Specifica uno dei seguenti valori:
avro
oprotocol-buffer
.DEFINITION: definizione dello schema inline.
DEFINITION_FILE: file contenente la definizione dello schema.