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 le SMT degli argomenti, le modifiche si applicano ai nuovi messaggi pubblicati dopo l'aggiornamento della SMT.
Per aggiornare le SMT degli argomenti, puoi utilizzare la Google Cloud console, Google Cloud CLI, la libreria client o l'API Pub/Sub.
Ruoli e autorizzazioni richiesti
Per ottenere l'autorizzazione necessaria 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 l'
pubsub.topics.update
autorizzazione,
necessaria per
aggiornare le SMT degli argomenti.
Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Puoi configurare il controllo dell'accesso a livello di progetto e a livello di singola risorsa.
Aggiornare le SMT degli argomenti
Per aggiornare le SMT degli argomenti:
Console
Nella Google Cloud console, vai alla pagina Argomenti Pub/Sub.
-
Fai clic sull'argomento per il quale vuoi modificare le SMT.
Nella pagina dei dettagli dell'argomento, fai clic su Modifica.
La scheda Trasformazioni elenca tutte le SMT collegate all'argomento.
-
Nella pagina Modifica argomento, puoi eseguire le seguenti attività:
-
Aggiungi una nuova SMT. Fai clic su Aggiungi una trasformazione.
-
Modifica una SMT esistente. Espandi una SMT per modificarla.
-
Riordina le SMT. Utilizza le frecce su e giù.
-
Elimina una SMT. Fai clic sull'icona del cestino.
-
-
Fai clic su Aggiorna.
gcloud
-
Nella Google Cloud console, attiva Cloud Shell.
Nella parte inferiore della Google Cloud 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.
-
Esegui il
gcloud pubsub topics updatecomando: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 tutte le 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.
-