Convalidare un messaggio per uno schema

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

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per convalidare i messaggi dello schema e gestirli, chiedi all'amministratore di concederti il ruolo IAM Pub/Sub Editor (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 i messaggi dello schema e gestirli. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per convalidare i messaggi dello schema e gestirli sono necessarie le seguenti autorizzazioni:

  • Crea schema: pubsub.schemas.create
  • Collega 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
  • Ottieni uno schema o le revisioni dello schema: pubsub.schemas.get
  • Elenca gli 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 policy IAM per uno schema: pubsub.schemas.getIamPolicy
  • Configura il policy 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 collegarlo a un argomento che si trova in un altro progetto. Assicurati di disporre delle autorizzazioni necessarie per ogni progetto.

Convalida un messaggio per uno schema

Console

  1. Nella Cloud de Confiance console, vai alla pagina Schemi Pub/Sub.

    Vai a Schemi

    Viene visualizzato l'elenco degli schemi.

  2. Fai clic sull'ID schema di uno schema esistente.

    Si apre la pagina Dettagli schema dello schema.

  3. Nella sezione Revisioni, fai clic sulla revisione per la quale vuoi convalidare un messaggio.

  4. Nella sezione Dettagli, fai clic su Test messaggio.

  5. Nella finestra Test messaggio, seleziona un tipo di Codifica messaggio.

  6. Nel corpo del messaggio, inserisci un messaggio di test.

  7. Fai clic su Test.

gcloud

  1. Nella Cloud de Confiance console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della Cloud de Confiance console viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già inclusa e installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per convalidare un messaggio rispetto 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 o json.

    • SCHEMA_NAME: nome o percorso completo di uno schema esistente.

    • TYPE: tipo di schema in linea. Specifica uno dei seguenti valori: avro o protocol-buffer.

    • DEFINITION: definizione dello schema in linea.

    • DEFINITION_FILE: file contenente la definizione dello schema.

Passaggi successivi