Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Dokumen ini menjelaskan cara memperbarui Transformasi Pesan Tunggal (SMT) untuk langganan Pub/Sub. Perubahan pada SMT akan diterapkan dalam beberapa
menit. Untuk SMT langganan, perubahan akan diterapkan pada pesan baru yang dikirim ke langganan setelah UDF diperbarui.
Untuk memperbarui SMT langganan, Anda dapat menggunakan Google Cloud konsol, Google Cloud CLI,
library klien, atau Pub/Sub API.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan guna memperbarui SMT langganan, minta administrator Anda untuk memberi Anda peran IAM Pub/Sub Editor (roles/pubsub.editor) di project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi
izin yang diperlukan untuk memperbarui SMT langganan. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk memperbarui SMT langganan:
Beri izin perbarui langganan pada langganan:
projects.subscriptions.patch
Berikan izin lihat langganan pada project. Izin ini hanya diperlukan jika Anda menggunakan konsol Google Cloud :
pubsub.subscriptions.view
At the bottom of the Google 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.
[[["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"]],["Terakhir diperbarui pada 2025-08-17 UTC."],[],[],null,["# Update subscription SMTs\n\nThis document explains how to update a Single Message Transform (SMT) for a\nPub/Sub subscription. Changes to SMTs take effect within a few\nminutes. For subscription SMTs, the changes take effect for new messages\ndelivered to the subscription after the UDF is updated.\n\nTo update subscription SMTs, you can use the Google Cloud console, the Google Cloud CLI,\nthe client library, or the Pub/Sub API.\n\nRequired roles and permissions\n------------------------------\n\n\nTo get the permissions that\nyou need to update subscription SMTs,\n\nask your administrator to grant you the\n\n\n[Pub/Sub Editor](/iam/docs/roles-permissions/pubsub#pubsub.editor) (`roles/pubsub.editor`)\nIAM role on your project.\n\n\nFor more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\nThis predefined role contains\n\nthe permissions required to update subscription SMTs. To see the exact permissions that are\nrequired, expand the **Required permissions** section:\n\n\n#### Required permissions\n\nThe following permissions are required to update subscription SMTs:\n\n- Grant the update a subscription permission on the subscription: ` ``projects.subscriptions.patch`\n- Grant the view a subscription permission on the project. This permission is only required if you are using the Google Cloud console: ` ``pubsub.subscriptions.view`\n\n\nYou might also be able to get\nthese permissions\nwith [custom roles](/iam/docs/creating-custom-roles) or\nother [predefined roles](/iam/docs/roles-overview#predefined).\n\nYou can configure access control at the project level and at the individual\nresource level.\n\nUpdate subscription SMTs\n------------------------\n\nTo update subscription SMTs, follow these steps: \n\n### Console\n\n1. In the Google Cloud console, go to the Pub/Sub **Subscriptions** page.\n\n [Go to Subscriptions](https://console.cloud.google.com/cloudpubsub/subscriptions)\n2. Click the subscription for which you want to edit SMTs.\n\n3. In the subscription details page, click **Edit**.\n\n The **Transforms** tab lists all the SMTs that are attached to the\n subscription.\n4. In the Edit subscription page, you can do the following tasks:\n\n 1. Add a new SMT. Click **Add a transform**.\n\n 2. Edit an existing SMT. Expand any SMT to edit the SMT.\n\n 3. Rearrange the SMTs. Use the up and down arrows.\n\n 4. Delete an SMT. Click the delete button.\n\n5. Click **Update**.\n\n### gcloud\n\n1. In the Google Cloud console, activate Cloud Shell.\n\n [Activate Cloud Shell](https://console.cloud.google.com/?cloudshell=true)\n\n\n At the bottom of the Google Cloud console, a\n [Cloud Shell](/shell/docs/how-cloud-shell-works)\n session starts and displays a command-line prompt. Cloud Shell is a shell environment\n with the Google Cloud CLI\n already installed and with values already set for\n your current project. It can take a few seconds for the session to initialize.\n2. Run the\n [`gcloud pubsub subscriptions update`](/sdk/gcloud/reference/pubsub/subscriptions/update)command:\n\n \u003cbr /\u003e\n\n ```bash\n gcloud pubsub subscriptions update SUBSCRIPTION_ID \\\n --message-transforms-file=TRANSFORMS_FILE\n ```\n\n Replace the following:\n -\n \u003cvar translate=\"no\"\u003eSUBSCRIPTION_ID\u003c/var\u003e: The ID or name of the subscription you want to update.\n\n -\n \u003cvar translate=\"no\"\u003eTRANSFORMS_FILE\u003c/var\u003e: The path to the YAML or JSON file containing the\n updated SMTs.\n\n The following is an example of a YAML transforms file: \n\n ```yaml\n - javascriptUdf:\n code: \u003e\n function redactSSN(message, metadata) {\n const data = JSON.parse(message.data);\n delete data['ssn'];\n message.data = JSON.stringify(data);\n return message;\n }\n functionName: redactSSN\n - javascriptUdf:\n code: \u003e\n function filterHighAmount(message, metadata) {\n const data = JSON.parse(message.data);\n if (data['amount'] \u003e 100 ) { return null; }\n return message;\n }\n functionName: filterHighAmount\n ```\n\n \u003cbr /\u003e\n\n To clear all the SMTs from the subscription, use the following command: \n\n ```bash\n gcloud pubsub subscriptions update SUBSCRIPTION_ID --clear-message-transforms\n ```\n\n Replace \u003cvar translate=\"no\"\u003eSUBSCRIPTION_ID\u003c/var\u003e with the ID or name of the subscription you want to update.\n\n \u003cbr /\u003e\n\n\u003cbr /\u003e\n\nWhat's next\n-----------\n\n- [Create a subscription with SMTs](/pubsub/docs/smts/create-subscription-smt)\n\n- [Delete subscription SMTs](/pubsub/docs/smts/delete-subscription-smt)"]]