Actualiza los SMT de temas

En este documento, se explica cómo actualizar una transformación de mensaje único (SMT) para un tema de Pub/Sub. Los cambios en los SMT se aplican en unos minutos. En el caso de las SMT de temas, los cambios se aplican a los mensajes nuevos que se publican después de que se actualiza la SMT.

Para actualizar los SMT de temas, puedes usar la consola de Cloud de Confiance , Google Cloud CLI, la biblioteca cliente o la API de Pub/Sub.

Roles y permisos requeridos

Para obtener el permiso que necesitas para actualizar los SMT de temas, pídele a tu administrador que te otorgue el rol de IAM de Editor de Pub/Sub (roles/pubsub.editor) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso pubsub.topics.update, que se requiere para actualizar los SMT de temas.

También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.

Puedes configurar el control de acceso a nivel del proyecto y a nivel de cada recurso.

Actualiza las SMT de temas

Para actualizar los SMT de temas, sigue estos pasos:

Console

  1. En la consola de Cloud de Confiance , ve a la página Temas de Pub/Sub.

    Ir a temas

  2. Haz clic en el tema para el que deseas editar los SMT.

  3. En la página de detalles del tema, haz clic en Editar.

    En la pestaña Transformaciones, se enumeran todas las SMT que están adjuntas al tema.

  4. En la página Editar tema, puedes realizar las siguientes tareas:

    1. Agrega un nuevo SMT. Haz clic en Agregar una transformación.

    2. Editar un SMT existente Expande cualquier SMT para editarla.

    3. Reorganiza las SMT. Usa las flechas hacia arriba y hacia abajo.

    4. Borra un SMT. Haz clic en el botón de borrar.

  5. Haz clic en Actualizar.

gcloud

  1. En la consola de Cloud de Confiance , activa Cloud Shell.

    Activa Cloud Shell

    En la parte inferior de la consola de Cloud de Confiance , se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Ejecuta el comando gcloud pubsub topics update:

    gcloud pubsub topics update TOPIC_ID \
        --message-transforms-file=TRANSFORMS_FILE

    Reemplaza lo siguiente:

    • TOPIC_ID: Es el ID o el nombre del tema que deseas actualizar.

    • TRANSFORMS_FILE: Es la ruta de acceso al archivo YAML o JSON que contiene los SMT actualizados.

      A continuación, se muestra un ejemplo de un archivo de transformaciones 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

    Para borrar todas las SMT del tema, usa el siguiente comando:

    gcloud pubsub topics update TOPIC_ID --clear-message-transforms

    Reemplaza TOPIC_ID por el ID o el nombre del tema que deseas actualizar.

¿Qué sigue?