Questo documento spiega come eliminare le revisioni dello schema per gli argomenti Pub/Sub. L'operazione di eliminazione di uno schema elimina anche tutte le revisioni associate allo schema.
Prima di iniziare
- Comprendi il funzionamento degli schemi Pub/Sub.
- Crea uno schema.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni necessarie per eliminare e gestire le revisioni dello schema, 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 eliminare e gestire le revisioni dello schema. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per eliminare e gestire le revisioni dello schema sono necessarie le seguenti autorizzazioni:
-
Crea schema:
pubsub.schemas.create -
Collega 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 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.
Elimina una revisione dello schema
Di seguito sono riportate alcune linee guida importanti per l'eliminazione di una revisione dello schema:
Puoi eliminare una o più revisioni dello schema da uno schema.
Se lo schema ha una sola revisione, non puoi eliminarla. Elimina invece lo schema.
L'operazione di eliminazione di uno schema elimina anche tutte le revisioni associate allo schema.
Se elimini uno schema, la pubblicazione di messaggi negli argomenti associati a questo schema non va a buon fine.
Se elimini una revisione dello schema e questa è specificata come la prima revisione per un argomento, per la convalida viene utilizzata la revisione successiva.
Se la revisione dello schema eliminata è specificata come l'ultima revisione per un argomento, per la convalida viene utilizzata la revisione dello schema precedente.
Se la revisione dello schema eliminata rientra nell'intervallo di revisioni specificato per un argomento per la convalida, la revisione viene ignorata.
Puoi eliminare una revisione dello schema utilizzando la Google Cloud console, gcloud CLI, l'API Pub/Sub, o le librerie client di Cloud.
Console
Nellaconsole, vai alla pagina Schemi Pub/Sub. Google Cloud
Fai clic sul nome di uno schema esistente.
Si apre la pagina Dettagli schema dello schema.
Seleziona la revisione che vuoi eliminare. Puoi anche selezionare più revisioni.
Fai clic su Elimina revisione.
Conferma l'operazione di eliminazione.
gcloud
gcloud pubsub schemas delete-revision SCHEMA_NAME@REVISION_ID
Dove:
- REVISION_ID è la revisione a cui vuoi eseguire il rollback.
REST
Per eliminare una revisione dello schema, invia una richiesta DELETE come la seguente:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID@REVISION_ID:deleteRevision Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Il corpo della risposta deve contenere una rappresentazione JSON della risorsa dello schema eliminata.
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++ .
Vai
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.
Passaggi successivi
- Elimina uno schema
- Elenca schemi
- Elenca le revisioni di uno schema
- Iscriviti a un argomento con uno schema