Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
Puedes usar un conector de Workflows para admitir operaciones de Pub/Sub, como publicar mensajes en un tema de Pub/Sub.
Un tema de Pub/Sub es un recurso al que los editores envían mensajes. Una suscripción representa el flujo de mensajes de un tema que se van a enviar a la aplicación suscriptora.
Más información sobre Pub/Sub
Publicar mensajes
Una vez que se hayan creado un tema de Pub/Sub y una suscripción a ese tema, puedes crear un flujo de trabajo que publique un mensaje en ese tema:
TOPIC_ID: el ID o el identificador completo del tema de Pub/Sub.
SUBSCRIPTION_ID: el ID o el identificador completo de la suscripción de Pub/Sub.
Extraer mensajes
Puedes crear un activador de Eventarc que conecte un tema de Pub/Sub a un receptor de eventos de Workflows. Se publica un mensaje en un tema de Pub/Sub para generar un evento, y el evento se transfiere como argumento de tiempo de ejecución al flujo de trabajo de destino. Para obtener más información, consulta el artículo Activar un flujo de trabajo con eventos o mensajes de Pub/Sub.
También puedes crear un flujo de trabajo que extraiga el mensaje de Pub/Sub.
En el siguiente ejemplo, el flujo de trabajo espera a que se publique el mensaje mediante sondeo.
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-20 (UTC)."],[],[],null,["# Publish a message to a Pub/Sub topic\n\nYou can use a\n[Workflows connector](/workflows/docs/reference/googleapis/pubsub/Overview)\nto support Pub/Sub operations, including publishing messages to\na Pub/Sub topic.\n\nA Pub/Sub topic is a resource to which messages are sent by\npublishers. A subscription represents the stream of messages from a topic that\nare to be delivered to the subscribing application.\n[Learn more about Pub/Sub](/pubsub/docs/overview).\n\nPublishing messages\n-------------------\n\nOnce a Pub/Sub topic and a subscription to that topic has been\ncreated, you can\n[create a workflow](/workflows/docs/creating-updating-workflow#create_a_workflow)\nthat publishes a message to that topic: \n\n### YAML\n\n```yaml\n- init:\n assign:\n - project: '${sys.get_env(\"GOOGLE_CLOUD_PROJECT_ID\")}'\n - topic: TOPIC_ID\n - subscription: SUBSCRIPTION_ID\n - message:\n hello: world\n - base64Msg: '${base64.encode(json.encode(message))}'\n- publish_message_to_topic:\n call: googleapis.pubsub.v1.projects.topics.publish\n args:\n topic: '${\"projects/\" + project + \"/topics/\" + topic}'\n body:\n messages:\n - data: '${base64Msg}'\n```\n\n### JSON\n\n```json\n[\n{\n \"init\": {\n \"assign\": [\n {\n \"project\": \"${sys.get_env(\\\"GOOGLE_CLOUD_PROJECT_ID\\\")}\"\n },\n {\n \"topic\": \"\u003cvar translate=\"no\"\u003eTOPIC_ID\u003c/var\u003e\"\n },\n {\n \"subscription\": \"\u003cvar translate=\"no\"\u003eSUBSCRIPTION_ID\u003c/var\u003e\"\n },\n {\n \"message\": {\n \"hello\": \"world\"\n }\n },\n {\n \"base64Msg\": \"${base64.encode(json.encode(message))}\"\n }\n ]\n }\n},\n{\n \"publish_message_to_topic\": {\n \"call\": \"googleapis.pubsub.v1.projects.topics.publish\",\n \"args\": {\n \"topic\": \"${\\\"projects/\\\" + project + \\\"/topics/\\\" + topic}\",\n \"body\": {\n \"messages\": [\n {\n \"data\": \"${base64Msg}\"\n }\n ]\n }\n }\n }\n}\n]\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eTOPIC_ID\u003c/var\u003e: the ID or fully qualified identifier for\n the Pub/Sub topic.\n\n- \u003cvar translate=\"no\"\u003eSUBSCRIPTION_ID\u003c/var\u003e: the ID or fully qualified identifier\n for the Pub/Sub subscription.\n\nPulling messages\n----------------\n\nYou can create an Eventarc trigger that connects a Pub/Sub\ntopic to a Workflows event receiver. A message is published to a\nPub/Sub topic to generate an event, and the event is passed as a\nruntime argument to the destination workflow. For more information, see\n[Trigger a workflow with events or Pub/Sub messages](/workflows/docs/trigger-workflow-eventarc).\n\nYou can also create a workflow that pulls the Pub/Sub message.\nIn the following example, the workflow waits for the message to be published\nusing [polling](/workflows/docs/sleeping). \n\n### YAML\n\n```yaml\n- pullMessage:\n call: googleapis.pubsub.v1.projects.subscriptions.pull\n args:\n subscription: '${\"projects/\" + project + \"/subscriptions/\" + subscription}'\n body:\n maxMessages: 1\n result: m\n- checkState:\n switch:\n - condition: ${m.receivedMessages[0].message.data != \"\"}\n next: outputMessage\n- wait:\n call: sys.sleep\n args:\n seconds: 60\n next: pullMessage\n- outputMessage:\n return: '${json.decode(base64.decode(m.receivedMessages[0].message.data))}'\n```\n\n### JSON\n\n```json\n [\n {\n \"pullMessage\": {\n \"call\": \"googleapis.pubsub.v1.projects.subscriptions.pull\",\n \"args\": {\n \"subscription\": \"${\\\"projects/\\\" + project + \\\"/subscriptions/\\\" + subscription}\",\n \"body\": {\n \"maxMessages\": 1\n }\n },\n \"result\": \"m\"\n }\n },\n {\n \"checkState\": {\n \"switch\": [\n {\n \"condition\": \"${m.receivedMessages[0].message.data != \\\"\\\"}\",\n \"next\": \"outputMessage\"\n }\n ]\n }\n },\n {\n \"wait\": {\n \"call\": \"sys.sleep\",\n \"args\": {\n \"seconds\": 60\n },\n \"next\": \"pullMessage\"\n }\n },\n {\n \"outputMessage\": {\n \"return\": \"${json.decode(base64.decode(m.receivedMessages[0].message.data))}\"\n }\n }\n ]\n```"]]