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 Trusted 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 Editor Pub/Sub (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 gli SMT degli argomenti. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per aggiornare gli SMT degli argomenti sono necessarie le seguenti autorizzazioni:

  • Concedi all'aggiornamento un'autorizzazione per l'argomento: projects.topics.patch
  • Concedi l'autorizzazione per visualizzare un argomento sul progetto. Questa autorizzazione è necessaria solo se utilizzi la console Trusted 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 Trusted 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 Trusted Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Trusted 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