Questo documento mostra come eseguire il rollback di uno schema per un Pub/Sub per ogni argomento.
L'operazione di rollback ti consente di creare un'altra revisione dello schema con definizione dello schema della revisione precedente specificata.
Prima di iniziare
- Scopri come funzionano gli schemi Pub/Sub.
- Crea uno schema.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni necessarie per eseguire il rollback degli schemi e gestirli,
chiedi all'amministratore di concederti
Ruolo IAM dell'editor Pub/Sub (roles/pubsub.editor
) per il tuo progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per eseguire il rollback degli schemi e gestirli. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per eseguire il rollback degli schemi e gestirli sono necessarie le seguenti autorizzazioni:
-
Crea schema:
pubsub.schemas.create
-
Associa 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 una revisione dello schema:
pubsub.schemas.get
-
Elenca schemi:
pubsub.schemas.list
-
Revisioni dello schema dell'elenco:
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 riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.
Puoi concedere ruoli e autorizzazioni a entità come utenti, gruppi, domini o account di servizio. Puoi creare uno schema in un progetto a un argomento di un altro progetto. Assicurati di disporre delle autorizzazioni necessarie per per ogni progetto.
Eseguire il rollback di una revisione dello schema
Puoi eseguire il rollback di uno schema utilizzando la console Google Cloud, l'interfaccia a riga di comando gcloud, l'API Pub/Sub o le librerie client di Cloud. Segui questi passaggi:
Console
Nella console Google Cloud, vai alla pagina Schemi Pub/Sub.
Fai clic sul nome di uno schema esistente.
Viene visualizzata la pagina Dettagli schema dello schema.
Fai clic su Ripristino dei dati precedenti.
Viene visualizzata la finestra di dialogo Esegui il rollback dello schema.
Seleziona la revisione a cui vuoi eseguire il rollback dello schema.
Fai clic su Conferma per salvare l'operazione di rollback.
Viene creata una nuova revisione con lo schema specificato nell'operazione di rollback.
Nella pagina Dettagli schema, seleziona la versione più recente dello schema e la versione selezionata come origine per l'operazione di rollback.
Fai clic su Visualizza differenze.
Puoi verificare che i due schemi siano identici.
Puoi utilizzare la revisione dello schema che hai appena creato come ultima revisione per convalidare un argomento aggiornando il campo Ultima revisione consentita.
gcloud
gcloud pubsub schemas rollback SCHEMA_ID \ --revision-id=REVISION_ID
Dove:
- REVISION_ID è la revisione di cui vuoi eseguire il rollback.
REST
Per eseguire il rollback di uno schema, invia una richiesta POST come la seguente:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID:rollback Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Specifica i seguenti campi nel corpo della richiesta:
{ "revisionId": REVISION_KD }
Dove:
- REVISION_KD è l'ID della revisione a cui eseguire il rollback.
Il corpo della risposta deve contenere una rappresentazione JSON di una risorsa schema.
C++
Prima di provare questo esempio, segui le istruzioni per la configurazione di C++ in Guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C++.
Vai
Prima di provare questo esempio, segui le istruzioni di configurazione di Go riportate nella guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java Pub/Sub.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python in Guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python Pub/Sub.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js in Guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Node.js.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella Guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Node.js.
Passaggi successivi
- Eliminare una revisione dello schema
- Eliminare uno schema
- Elenco di schemi
- Elenco delle revisioni di uno schema
- Abbonarsi a un argomento con uno schema