Questo documento spiega come aggiornare una trasformazione di un singolo messaggio (SMT) per un argomento Pub/Sub. Le modifiche alle SMT diventano effettive dopo pochi minuti. Per gli SMT degli argomenti, le modifiche si applicano ai nuovi messaggi pubblicati dopo l'aggiornamento dell'SMT.
Per aggiornare gli SMT degli argomenti, puoi utilizzare la console Google Cloud , Google Cloud CLI, la libreria client o l'API Pub/Sub.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni
necessarie per aggiornare le SMT degli argomenti,
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 aggiornare le SMT degli argomenti. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per aggiornare le SMT degli argomenti sono necessarie le seguenti autorizzazioni:
-
Concedi all'aggiornamento l'autorizzazione di accesso all'argomento:
projects.topics.patch
-
Concedi l'autorizzazione per visualizzare un argomento sul progetto. Questa autorizzazione è necessaria solo se utilizzi la console Google Cloud :
pubsub.topics.view
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Puoi configurare il controllo dell'accesso a livello di progetto e a livello di singola risorsa.
Aggiorna le trasformazioni SMT degli argomenti
Per aggiornare le SMT degli argomenti:
Console
Nella console Google Cloud , vai alla pagina Argomenti di Pub/Sub.
-
Fai clic sull'argomento per cui vuoi modificare le SMT.
Nella pagina dei dettagli dell'argomento, fai clic su Modifica.
La scheda Trasformazioni elenca tutte le SMT associate all'argomento.
-
Nella pagina Modifica argomento puoi eseguire le seguenti operazioni:
-
Aggiungi un nuovo SMT. Fai clic su Aggiungi una trasformazione.
-
Modifica un SMT esistente. Espandi una trasformazione SMT per modificarla.
-
Riordina le trasformazioni SMT. Utilizza le frecce su e giù.
-
Eliminare un SMT. Fai clic sul pulsante Elimina.
-
-
Fai clic su Aggiorna.
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.
-
Esegui il comando
gcloud pubsub topics update
:gcloud pubsub topics update TOPIC_ID \ --message-transforms-file=TRANSFORMS_FILE
Sostituisci quanto segue:
-
TOPIC_ID: L'ID o il nome dell'argomento che vuoi aggiornare.
-
TRANSFORMS_FILE: il percorso del file YAML o JSON contenente le SMT aggiornate.
Di seguito è riportato un esempio di file di trasformazioni YAML:
- javascriptUdf: code: > function redactSSN(message, metadata) { const data = JSON.parse(message.data); delete data['ssn']; message.data = JSON.stringify(data); return message; } functionName: redactSSN - javascriptUdf: code: > function filterHighAmount(message, metadata) { const data = JSON.parse(message.data); if (data['amount'] > 100 ) { return null; } return message; } functionName: filterHighAmount
Per cancellare tutti gli SMT dall'argomento, utilizza il seguente comando:
gcloud pubsub topics update TOPIC_ID --clear-message-transforms
Sostituisci TOPIC_ID con l'ID o il nome dell'argomento che vuoi aggiornare.
-