Konektor untuk Pub/Sub
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Konektor Workflows yang menentukan fungsi bawaan yang digunakan untuk mengakses Pub/Sub dalam alur kerja.
Mempelajari lebih lanjut
Untuk dokumentasi mendetail yang menyertakan contoh kode ini, lihat artikel berikut:
Contoh kode
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],[],[],[],null,["# Connector for Pub/Sub\n\nWorkflows connector that defines the built-in function used to access Pub/Sub within a workflow.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Cloud Pub/Sub API Connector Overview](/workflows/docs/reference/googleapis/pubsub/Overview)\n\nCode sample\n-----------\n\n### YAML\n\n # This workflow demonstrates how to use the Cloud Pub/Sub connector:\n # Create a Pub/Sub topic and a subscription to that topic\n # Publish a message to the topic and pull the message from the subscription\n # Delete both the subscription and the topic\n # Expected output: \"SUCCESS\"\n - init:\n assign:\n - project: ${sys.get_env(\"GOOGLE_CLOUD_PROJECT_ID\")}\n - topic: \"TOPIC_ID\" # replace TOPIC_ID placeholder\n - subscription: \"SUBSCRIPTION_ID\" # replace SUBSCRIPTION_ID placeholder\n - message: {\"hello\": \"world\"}\n - base64Msg: ${base64.encode(json.encode(message))} # encodes bytes to Base64 text\n - create_topic:\n call: googleapis.pubsub.v1.projects.topics.create\n args:\n name: ${\"projects/\" + project + \"/topics/\" + topic}\n - create_subscription_to_topic:\n call: googleapis.pubsub.v1.projects.subscriptions.create\n args:\n name: ${\"projects/\" + project + \"/subscriptions/\" + subscription}\n body:\n name: ${\"projects/\" + project + \"/subscriptions/\" + subscription}\n topic: ${\"projects/\" + project + \"/topics/\" + topic}\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 - pull_message:\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 - check_message:\n switch:\n - condition: ${m.receivedMessages[0].message.data != base64Msg}\n next: failed\n - delete_subscription:\n call: googleapis.pubsub.v1.projects.subscriptions.delete\n args:\n subscription: ${\"projects/\" + project + \"/subscriptions/\" + subscription}\n - delete_topic:\n call: googleapis.pubsub.v1.projects.topics.delete\n args:\n topic: ${\"projects/\" + project + \"/topics/\" + topic}\n - the_end:\n return: \"SUCCESS\"\n - failed:\n raise: ${\"Received data:\" + m.receivedMessages[0].message.data + \" Expected data:\" + base64Msg}\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=workflows)."]]