Aggiornare gli SMT degli argomenti

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 Cloud de Confiance 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

  1. Nella Cloud de Confiance console, vai alla pagina Argomenti Pub/Sub.

    Vai ad Argomenti

  2. Fai clic sull'argomento per il quale vuoi modificare le SMT.

  3. Nella pagina dei dettagli dell'argomento, fai clic su Modifica.

    La scheda Trasformazioni elenca tutte le SMT collegate all'argomento.

  4. Nella pagina Modifica argomento, puoi eseguire le seguenti attività:

    1. Aggiungi una nuova SMT. Fai clic su Aggiungi una trasformazione.

    2. Modifica una SMT esistente. Espandi una SMT per modificarla.

    3. Riordina le SMT. Utilizza le frecce su e giù.

    4. Elimina una SMT. Fai clic sull'icona del cestino.

  5. Fai clic su Aggiorna.

gcloud

  1. Nella Cloud de Confiance console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della Cloud de Confiance 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.

  2. 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.

Passaggi successivi