Connecteur pour Pub/Sub

Connecteur de workflows qui définit la fonction intégrée utilisée pour accéder à Pub/Sub dans un workflow.

En savoir plus

Pour obtenir une documentation détaillée incluant cet exemple de code, consultez les articles suivants :

Exemple de code

YAML

# This workflow demonstrates how to use the Cloud Pub/Sub connector:
# Create a Pub/Sub topic and a subscription to that topic
# Publish a message to the topic and pull the message from the subscription
# Delete both the subscription and the topic
# Expected output: "SUCCESS"
- init:
    assign:
      - project: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
      - topic: "TOPIC_ID"  # replace TOPIC_ID placeholder
      - subscription: "SUBSCRIPTION_ID"  # replace SUBSCRIPTION_ID placeholder
      - message: {"hello": "world"}
      - base64Msg: ${base64.encode(json.encode(message))}  # encodes bytes to Base64 text
- create_topic:
    call: googleapis.pubsub.v1.projects.topics.create
    args:
      name: ${"projects/" + project + "/topics/" + topic}
- create_subscription_to_topic:
    call: googleapis.pubsub.v1.projects.subscriptions.create
    args:
      name: ${"projects/" + project + "/subscriptions/" + subscription}
      body:
        name: ${"projects/" + project + "/subscriptions/" + subscription}
        topic: ${"projects/" + project + "/topics/" + topic}
- publish_message_to_topic:
    call: googleapis.pubsub.v1.projects.topics.publish
    args:
      topic: ${"projects/" + project + "/topics/" + topic}
      body:
        messages:
          - data: ${base64Msg}
- pull_message:
    call: googleapis.pubsub.v1.projects.subscriptions.pull
    args:
      subscription: ${"projects/" + project + "/subscriptions/" + subscription}
      body:
        maxMessages: 1
    result: m
- check_message:
    switch:
      - condition: ${m.receivedMessages[0].message.data != base64Msg}
        next: failed
- delete_subscription:
    call: googleapis.pubsub.v1.projects.subscriptions.delete
    args:
      subscription: ${"projects/" + project + "/subscriptions/" + subscription}
- delete_topic:
    call: googleapis.pubsub.v1.projects.topics.delete
    args:
      topic: ${"projects/" + project + "/topics/" + topic}
- the_end:
    return: "SUCCESS"
- failed:
    raise: ${"Received data:" + m.receivedMessages[0].message.data + " Expected data:" + base64Msg}

Étapes suivantes

Pour rechercher et filtrer des exemples de code pour d'autres produits Google Cloud, consultez l'explorateur d'exemples Google Cloud.