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

  1. Nella console Google Cloud , vai alla pagina Argomenti di Pub/Sub.

    Vai ad Argomenti

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

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

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

  4. Nella pagina Modifica argomento puoi eseguire le seguenti operazioni:

    1. Aggiungi un nuovo SMT. Fai clic su Aggiungi una trasformazione.

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

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

    4. Eliminare un SMT. Fai clic sul pulsante Elimina.

  5. Fai clic su Aggiorna.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    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.

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

Passaggi successivi