Questo documento mostra come eseguire il rollback di uno schema per un argomento Pub/Sub.
L'operazione di rollback consente di creare un'altra revisione dello schema con la stessa definizione dello schema della revisione precedente specificata.
Prima di iniziare
- Comprendi il funzionamento degli 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 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 eseguire il rollback degli schemi e gestirli. Per vedere quali sono esattamente le autorizzazioni richieste, 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 -
Allega 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 schemi:
pubsub.schemas.list -
Elenca revisioni dello schema:
pubsub.schemas.listRevisions -
Esegui il rollback di uno schema:
pubsub.schemas.rollback -
Convalida un messaggio:
pubsub.schemas.validate -
Ottieni la policy IAM per uno schema:
pubsub.schemas.getIamPolicy -
Configura la 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 allegarlo a un argomento che si trova in un altro progetto. Assicurati di disporre delle autorizzazioni necessarie per ogni progetto.
Esegui il rollback di una revisione dello schema
Puoi eseguire il rollback di uno schema utilizzando la Cloud de Confiance console, gcloud CLI, l'API Pub/Sub, o le librerie client di Cloud. Segui questi passaggi:
Console
Nellaconsole, vai alla pagina Schemi Pub/Sub. Cloud de Confiance
Fai clic sul nome di uno schema esistente.
Viene visualizzata la pagina Dettagli schema per lo schema.
Fai clic su Esegui il rollback.
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 l'ultima versione dello schema e la versione selezionata come origine per l'operazione di rollback.
Fai clic su Visualizza differenza.
Puoi verificare che i due schemi siano identici.
Puoi utilizzare la revisione dello schema appena creata come ultima revisione per la convalida di un argomento aggiornando il campo Ultima revisione consentita.
gcloud
gcloud pubsub schemas rollback SCHEMA_ID \ --revision-id=REVISION_ID
Dove:
- REVISION_ID è la revisione a 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 di configurazione di C++ in Guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub C++ .
Go
L'esempio seguente utilizza la versione principale della libreria client Go Pub/Sub (v2). Se utilizzi ancora la libreria v1, consulta la guida alla migrazione alla v2. Per visualizzare un elenco di esempi di codice della versione 1, consulta gli esempi di codice deprecati.
Prima di provare questo esempio, segui le istruzioni di configurazione di Go in Guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java in Guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Java.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python in Guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Python.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js in guida rapida all'utilizzo delle librerie client. Per saperne di più, 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 in guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Node.js.