Membuat langganan Cloud Storage

Dokumen ini menjelaskan cara membuat langganan Cloud Storage. Anda dapat menggunakan konsol Google Cloud, Google Cloud CLI, library klien, atau Pub/Sub API untuk membuat langganan Cloud Storage.

Sebelum memulai

Sebelum membaca dokumen ini, pastikan Anda sudah memahami hal-hal berikut:

Peran dan izin yang diperlukan

Berikut adalah daftar panduan mengenai peran dan izin:

  • Untuk membuat langganan, Anda harus mengonfigurasi kontrol akses pada level project.

  • Anda juga memerlukan izin level resource jika langganan dan topik Anda berada di project yang berbeda, seperti yang akan dibahas nanti di bagian ini.

  • Untuk membuat langganan Cloud Storage, akun layanan Pub/Sub harus memiliki izin untuk menulis ke bucket Cloud Storage tertentu dan membaca metadata bucket. Untuk mengetahui informasi selengkapnya tentang cara memberikan izin ini, lihat bagian berikutnya dalam dokumen ini.

Untuk mendapatkan izin yang diperlukan untuk membuat langganan Cloud Storage, minta administrator untuk memberi Anda peran IAM Pub/Sub Editor (roles/pubsub.editor) pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk membuat langganan Cloud Storage. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat langganan Cloud Storage:

  • Buat langganan: pubsub.subscriptions.create
  • Melampirkan langganan ke topik: pubsub.topics.attachSubscription
  • Mengambil dari langganan: pubsub.subscriptions.consume
  • Dapatkan langganan: pubsub.subscriptions.get
  • Cantumkan langganan: pubsub.subscriptions.list
  • Memperbarui langganan: pubsub.subscriptions.update
  • Menghapus langganan: pubsub.subscriptions.delete
  • Mendapatkan kebijakan IAM untuk langganan: pubsub.subscriptions.getIamPolicy
  • Konfigurasi kebijakan IAM untuk langganan: pubsub.subscriptions.setIamPolicy

Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.

Jika Anda perlu membuat langganan Cloud Storage dalam satu project yang dikaitkan dengan topik di project lain, minta administrator topik Anda untuk memberi Anda juga peran IAM (roles/pubsub.editor) Pub/Sub Editor pada topik tersebut.

Menetapkan peran Cloud Storage ke akun layanan Pub/Sub

Beberapa layanan Google Cloud memiliki akun layanan yang dikelola Google Cloud yang memungkinkan layanan tersebut mengakses resource Anda. Akun layanan ini dikenal sebagai agen layanan. Pub/Sub membuat dan mengelola akun layanan untuk setiap project dalam format service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com.

Untuk membuat langganan Cloud Storage, akun layanan Pub/Sub harus memiliki izin untuk menulis ke bucket Cloud Storage tertentu dan membaca metadata bucket. Pilih salah satu prosedur berikut:

  • Memberikan izin di level bucket. Pada bucket Cloud Storage tertentu, berikan peran Storage Object Creator (roles/storage.objectCreator) dan peran Storage Legacy Bucket Reader (roles/storage.legacyBucketReader) ke akun layanan Pub/Sub.

  • Jika harus memberikan peran di level project, Anda dapat memberikan peran Storage Admin (roles/storage.admin) pada project yang berisi bucket Cloud Storage. Berikan peran ini ke akun layanan Pub/Sub.

Izin bucket

Lakukan langkah-langkah berikut untuk memberikan peran Storage Object Creator (roles/storage.objectCreator) dan Storage Legacy Bucket Reader (roles/storage.legacyBucketReader) di level bucket:

  1. Di konsol Google Cloud, buka halaman Cloud Storage.

    Buka Cloud Storage

  2. Klik bucket Cloud Storage tempat Anda ingin menulis pesan.

    Halaman Bucket details akan terbuka.

  3. Di halaman Bucket details, klik tab Permissions.

  4. Di tab Permissions > View by Principals, klik Grant access.

    Halaman Berikan akses akan terbuka.

  5. Di bagian Tambahkan Akun Utama, masukkan nama akun layanan Pub/Sub Anda.

    Format akun layanan adalah service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com. Misalnya, untuk project dengan PROJECT_NUMBER=112233445566, akun layanan memiliki format service-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com.

  6. Di drop-down Assign roles > Select a role, masukkan Creator lalu pilih peran Storage Object Creator.

  7. Klik Add another role.

  8. Di drop-down Select a role, masukkan Bucket Reader, lalu pilih peran Storage Legacy Bucket Reader.

  9. Klik Save.

Izin project

Lakukan langkah-langkah berikut untuk memberikan peran Storage Admin (roles/storage.admin) di level project:

  1. Di konsol Google Cloud, buka halaman IAM.

    Buka IAM

  2. Di tab Permissions > View by Principals, klik Grant access.

    Halaman Berikan akses akan terbuka.

  3. Di bagian Tambahkan Akun Utama, masukkan nama akun layanan Pub/Sub Anda.

    Format akun layanan adalah service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com. Misalnya, untuk project dengan PROJECT_NUMBER=112233445566, akun layanan memiliki format service-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com.

  4. Di drop-down Tetapkan peran > Pilih peran, masukkan Storage Admin, lalu pilih peran Storage Admin.

  5. Klik Save.

Untuk mengetahui informasi selengkapnya tentang IAM Cloud Storage, lihat Pengelolaan Akses dan Identitas Cloud Storage.

Properti langganan Cloud Storage

Saat mengonfigurasi langganan Cloud Storage, Anda harus menentukan properti yang umum untuk semua jenis langganan dan beberapa properti khusus langganan Cloud Storage tambahan.

Properti langganan umum

Pelajari properti langganan umum yang dapat Anda tetapkan di semua langganan.

Nama bucket

Bucket Cloud Storage harus sudah ada sebelum Anda membuat langganan Cloud Storage.

Pesan dikirim sebagai batch dan disimpan di bucket Cloud Storage. Satu batch atau file disimpan sebagai objek di bucket.

Bucket Cloud Storage harus menonaktifkan Requester Pays.

Untuk membuat bucket Cloud Storage, lihat Membuat bucket.

Awalan, akhiran, dan tanggal waktu nama file

File Cloud Storage output yang dihasilkan oleh langganan Cloud Storage disimpan sebagai objek di bucket Cloud Storage. Nama objek yang disimpan di bucket Cloud Storage memiliki format berikut: <file-prefix><UTC-date-time>_<uuid><file-suffix>.

Daftar berikut menyertakan detail format file dan kolom yang dapat Anda sesuaikan:

  • <file-prefix> adalah awalan nama file kustom. Kolom ini bersifat opsional.

  • <UTC-date-time> adalah string yang dihasilkan secara otomatis dan dapat disesuaikan berdasarkan waktu pembuatan objek.

  • <uuid> adalah string acak yang dibuat secara otomatis untuk objek.

  • <file-suffix> adalah akhiran nama file kustom. Kolom ini bersifat opsional. Akhiran nama file tidak boleh diakhiri dengan "/".

  • Anda dapat mengubah awalan dan akhiran nama file:

    • Misalnya, jika nilai awalan nama file adalah prod_ dan nilai akhiran nama file adalah _archive, contoh nama objek adalah prod_2023-09-25T04:10:00+00:00_uN1QuE_archive.

    • Jika Anda tidak menentukan awalan dan akhiran nama file, nama objek yang disimpan di bucket Cloud Storage akan memiliki format: <UTC-date-time>_<uuid>.

    • Persyaratan penamaan objek Cloud Storage juga berlaku untuk awalan dan akhiran nama file. Untuk mengetahui informasi selengkapnya, lihat Tentang objek Cloud Storage.

  • Anda dapat mengubah tampilan tanggal dan waktu dalam nama file:

    • Pencocok tanggal dan waktu yang diperlukan yang hanya dapat Anda gunakan sekali: tahun (YYYY atau YY), bulan (MM), hari (DD), jam (hh), menit (mm), detik (ss). Misalnya, YY-YYYY atau MMM tidak valid.

    • Pencocok opsional yang hanya dapat Anda gunakan satu kali: pemisah tanggal dan waktu (T) serta offset zona waktu (Z atau +00:00).

    • Elemen opsional yang dapat Anda gunakan beberapa kali: tanda hubung (-), garis bawah (_), titik dua (:), dan garis miring (/).

    • Misalnya, jika nilai format tanggal dan waktu nama file adalah YYYY-MM-DD/hh_mm_ssZ, nama objek contoh adalah prod_2023-09-25/04_10_00Z_uNiQuE_archive.

    • Jika format tanggal dan nama nama file berakhiran karakter yang bukan pencocok, karakter tersebut akan menggantikan pemisah antara <UTC-date-time> dan <uuid>. Misalnya, jika nilai format tanggal dan waktu nama file adalah YYYY-MM-DDThh_mm_ss-, nama objek contoh adalah prod_2023-09-25T04_10_00-uNiQuE_archive.

Pengelompokan file

Dengan langganan Cloud Storage, Anda dapat memutuskan kapan akan membuat file output baru yang disimpan sebagai objek di bucket Cloud Storage. Pub/Sub menulis file output ketika salah satu kondisi pengelompokan yang ditentukan terpenuhi. Berikut adalah kondisi pengelompokan Cloud Storage:

  • Durasi maksimum batch penyimpanan. Setelan ini wajib diisi. Langganan Cloud Storage akan menulis file output baru jika nilai durasi maksimum yang ditentukan terlampaui. Jika Anda tidak menentukan nilainya, nilai default 5 menit akan diterapkan. Berikut adalah nilai yang berlaku untuk durasi maksimum:

    • Nilai minimum = 1 menit
    • Nilai default = 5 menit
    • Nilai maksimum = 10 menit
  • Byte maksimum batch penyimpanan. Ini adalah setelan opsional. Langganan Cloud Storage akan menulis file output baru jika nilai byte maksimum yang ditentukan terlampaui. Berikut adalah nilai yang berlaku untuk byte maksimal:

    • Nilai minimum = 1 KB
    • Nilai maksimum = 10 GiB

Misalnya, Anda dapat mengonfigurasi durasi maksimum 6 menit dan byte maksimum sebesar 2 GB. Jika pada menit ke-4, file output mencapai ukuran file 2 GB, Pub/Sub akan menyelesaikan file sebelumnya dan mulai menulis ke file baru.

Langganan Cloud Storage dapat menulis ke beberapa file di bucket Cloud Storage secara bersamaan. Jika Anda telah mengonfigurasi langganan untuk membuat file baru setiap menit ke-6, Anda mungkin mengamati beberapa file Cloud Storage dibuat setiap 6 menit.

Dalam beberapa situasi, Pub/Sub dapat mulai menulis ke file baru lebih awal dari waktu yang dikonfigurasi oleh kondisi pengelompokan file. File juga dapat melebihi nilai Max Byte jika langganan menerima pesan yang lebih besar dari nilai Byte Maks.

Format file

Saat membuat langganan Cloud Storage, Anda dapat menentukan format file output yang akan disimpan di bucket Cloud Storage sebagai Text atau Avro.

  • Teks: Pesan disimpan sebagai teks biasa. Karakter baris baru memisahkan pesan dari pesan sebelumnya dalam file. Hanya payload pesan yang disimpan, bukan atribut atau metadata lainnya.

  • Avro: Pesan disimpan dalam format biner Apache Avro.

    Saat memilih Avro, Anda juga dapat mengaktifkan opsi tulis metadata. Dengan opsi ini, Anda dapat menyimpan metadata pesan beserta pesan.

    Metadata seperti subscription_name, message_id, publish_time, dan kolom atribut ditulis ke kolom level teratas dalam objek Avro output, sementara semua properti pesan lainnya selain data (misalnya, order_key, jika ada) ditambahkan sebagai entri dalam peta atribut.

    Jika tulis metadata dinonaktifkan, hanya payload pesan yang akan ditulis ke objek Avro output.

    Berikut adalah skema Avro untuk pesan output tanpa mengaktifkan write metadata:

    {
      "type": "record",
      "namespace": "com.google.pubsub",
      "name": "PubsubMessage",
      "fields": [
        { "name": "data", "type": "bytes" }
      ]
    }
    

    Berikut adalah skema Avro untuk pesan output dengan write metadata aktif:

    {
      "type": "record",
      "namespace": "com.google.pubsub",
      "name": "PubsubMessageWithMetadata",
      "fields": [
        { "name": "subscription_name", "type": "string" },
        { "name": "message_id", "type": "string"  },
        { "name": "publish_time", "type": {
            "type": "long",
            "logicalType": "timestamp-micros"
          }
        },
        { "name": "attributes", "type": { "type": "map", "values": "string" } },
        { "name": "data", "type": "bytes" }
      ]
    }
    

Membuat langganan Cloud Storage

Konsol

  1. Di konsol Google Cloud, buka halaman Langganan.

    Buka Langganan

  2. Klik Buat langganan.

  3. Untuk kolom ID Langganan, masukkan nama.

    Untuk informasi tentang cara memberi nama langganan, lihat Panduan menamai topik atau langganan.

  4. Pilih atau buat topik dari menu drop-down.

    Langganan menerima pesan dari topik.

    Untuk informasi tentang cara membuat topik, lihat Membuat dan mengelola topik.

  5. Pilih Delivery type sebagai Write to Cloud Storage.

  6. Untuk bucket Cloud Storage, klik Browse.

    • Anda dapat memilih bucket yang ada dari project yang sesuai.

    • Anda juga dapat mengklik ikon buat dan mengikuti petunjuk di layar untuk membuat bucket baru.

      Setelah membuat bucket, pilih bucket untuk langganan Cloud Storage.

      Untuk mengetahui informasi lebih lanjut cara membuat bucket, lihat Membuat bucket.

    Saat Anda menentukan bucket, Pub/Sub akan memeriksa izin yang sesuai pada bucket untuk akun layanan Pub/Sub. Jika ada masalah izin, Anda akan melihat pesan yang mirip dengan yang berikut ini: Unable to verify if the Pub/Sub service agent has write permissions on this bucket. You may be lacking permissions to view or set permissions.

  7. Jika Anda mengalami masalah izin, klik Setel Izin dan ikuti petunjuk di layar.

    Atau, ikuti petunjuk dalam Menetapkan peran Cloud Storage ke akun layanan Pub/Sub.

  8. Untuk File format, pilih Text atau Avro.

    Jika memilih Avro, Anda juga dapat menentukan secara opsional apakah ingin menyimpan metadata pesan dalam output.

    Untuk mengetahui informasi selengkapnya tentang dua opsi, termasuk opsi metadata pesan untuk format Avro, lihat Format file.

  9. Opsional: Anda dapat menentukan Awalan dan akhiran nama file untuk semua file yang akan ditulis ke bucket Cloud Storage. File disimpan sebagai objek di bucket.

    Untuk mengetahui informasi selengkapnya tentang cara menetapkan awalan file dan akhiran file, lihat Awalan dan akhiran file.

  10. Untuk Pengelompokan file, tentukan waktu maksimum untuk berlalu sebelum membuat file baru.

    Anda juga dapat menetapkan ukuran file maksimum untuk file tersebut.

    Untuk informasi selengkapnya tentang kedua opsi pengelompokan file, lihat Pengelompokan file.

  11. Sebaiknya Anda mengaktifkan Penghentian pengiriman untuk menangani kegagalan pesan.

    Untuk mengetahui informasi selengkapnya, lihat Topik yang dihentikan pengirimannya.

  12. Anda dapat mempertahankan setelan lainnya sebagai default, lalu klik Create.

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Untuk membuat langganan Cloud Storage, jalankan perintah gcloud pubsub subscriptions create.
    gcloud pubsub subscriptions create SUBSCRIPTION_ID \
        --topic=TOPIC_ID \
        --cloud-storage-bucket=BUCKET_NAME \
        --cloud-storage-file-prefix=CLOUD_STORAGE_FILE_PREFIX \
        --cloud-storage-file-suffix=CLOUD_STORAGE_FILE_SUFFIX \
        --cloud-storage-max-bytes=CLOUD_STORAGE_MAX_BYTES \
        --cloud-storage-max-duration=CLOUD_STORAGE_MAX_DURATION \
        --cloud-storage-output-format=CLOUD_STORAGE_OUTPUT_FORMAT \
        --cloud-storage-write-metadata

    Dalam perintah, hanya SUBSCRIPTION_ID, flag --topic, dan flag --cloud-storage-bucket yang diperlukan. Tanda yang tersisa bersifat opsional dan dapat dihilangkan.

    Ganti kode berikut:

    • SUBSCRIPTION_ID: Nama atau ID langganan Cloud Storage baru Anda.
    • TOPIC_ID: Nama atau ID topik Anda.
    • BUCKET_NAME: Menentukan nama bucket yang ada. Contoh, prod_bucket. Nama bucket tidak boleh menyertakan project ID. Untuk membuat bucket, lihat Membuat bucket.
    • CLOUD_STORAGE_FILE_PREFIX: Menentukan awalan untuk nama file Cloud Storage. Misalnya: log_events_.
    • CLOUD_STORAGE_FILE_SUFFIX: Menentukan akhiran untuk nama file Cloud Storage. Misalnya: .txt.
    • CLOUD_STORAGE_MAX_BYTES: Byte maksimum yang dapat ditulis ke file Cloud Storage sebelum file baru dibuat. Nilainya harus antara 1 KB hingga 10 GB. Misalnya: 20MB.
    • CLOUD_STORAGE_MAX_DURATION: Durasi maksimum yang dapat berlalu sebelum file Cloud Storage baru dibuat. Nilainya harus antara 1 m dan 10 m. Misalnya: 5m.
    • CLOUD_STORAGE_OUTPUT_FORMAT: Format output untuk data yang ditulis ke Cloud Storage. Nilainya adalah sebagai berikut:
      • text: Pesan ditulis sebagai teks mentah, yang dipisahkan oleh baris baru.
      • avro: Pesan ditulis sebagai biner Avro. --cloud-storage-write-metadata hanya berpengaruh untuk langganan dengan format output avro.

C++

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di panduan memulai Pub/Sub menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ Pub/Sub.

Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

namespace pubsub = ::google::cloud::pubsub;
namespace pubsub_admin = ::google::cloud::pubsub_admin;
[](pubsub_admin::SubscriptionAdminClient client,
   std::string const& project_id, std::string const& topic_id,
   std::string const& subscription_id, std::string const& bucket) {
  google::pubsub::v1::Subscription request;
  request.set_name(
      pubsub::Subscription(project_id, subscription_id).FullName());
  request.set_topic(pubsub::Topic(project_id, topic_id).FullName());
  request.mutable_cloud_storage_config()->set_bucket(bucket);
  auto sub = client.CreateSubscription(request);
  if (!sub) {
    if (sub.status().code() == google::cloud::StatusCode::kAlreadyExists) {
      std::cout << "The subscription already exists\n";
      return;
    }
    throw std::move(sub).status();
  }

  std::cout << "The subscription was successfully created: "
            << sub->DebugString() << "\n";
}

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Pub/Sub menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Pub/Sub.

Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

import (
	"context"
	"fmt"
	"io"
	"time"

	"cloud.google.com/go/pubsub"
)

// createCloudStorageSubscription creates a Pub/Sub subscription that exports messages to Cloud Storage.
func createCloudStorageSubscription(w io.Writer, projectID, subID string, topic *pubsub.Topic, bucket string) error {
	// projectID := "my-project-id"
	// subID := "my-sub"
	// topic of type https://godoc.org/cloud.google.com/go/pubsub#Topic
	// note bucket should not have the gs:// prefix
	// bucket := "my-bucket"
	ctx := context.Background()
	client, err := pubsub.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("pubsub.NewClient: %w", err)
	}
	defer client.Close()

	sub, err := client.CreateSubscription(ctx, subID, pubsub.SubscriptionConfig{
		Topic: topic,
		CloudStorageConfig: pubsub.CloudStorageConfig{
			Bucket:         bucket,
			FilenamePrefix: "log_events_",
			FilenameSuffix: ".avro",
			OutputFormat:   &pubsub.CloudStorageOutputFormatAvroConfig{WriteMetadata: true},
			MaxDuration:    1 * time.Minute,
			MaxBytes:       1e8,
		},
	})
	if err != nil {
		return fmt.Errorf("client.CreateSubscription: %w", err)
	}
	fmt.Fprintf(w, "Created Cloud Storage subscription: %v\n", sub)

	return nil
}

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Pub/Sub menggunakan library klien. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Pub/Sub.

Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

import com.google.cloud.pubsub.v1.SubscriptionAdminClient;
import com.google.protobuf.Duration;
import com.google.pubsub.v1.CloudStorageConfig;
import com.google.pubsub.v1.ProjectSubscriptionName;
import com.google.pubsub.v1.ProjectTopicName;
import com.google.pubsub.v1.Subscription;
import java.io.IOException;

public class CreateCloudStorageSubscriptionExample {
  public static void main(String... args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "your-project-id";
    String topicId = "your-topic-id";
    String subscriptionId = "your-subscription-id";
    String bucket = "your-bucket";
    String filenamePrefix = "log_events_";
    String filenameSuffix = ".text";
    Duration maxDuration = Duration.newBuilder().setSeconds(300).build();

    createCloudStorageSubscription(
        projectId, topicId, subscriptionId, bucket, filenamePrefix, filenameSuffix, maxDuration);
  }

  public static void createCloudStorageSubscription(
      String projectId,
      String topicId,
      String subscriptionId,
      String bucket,
      String filenamePrefix,
      String filenameSuffix,
      Duration maxDuration)
      throws IOException {
    try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {

      ProjectTopicName topicName = ProjectTopicName.of(projectId, topicId);
      ProjectSubscriptionName subscriptionName =
          ProjectSubscriptionName.of(projectId, subscriptionId);

      CloudStorageConfig cloudStorageConfig =
          CloudStorageConfig.newBuilder()
              .setBucket(bucket)
              .setFilenamePrefix(filenamePrefix)
              .setFilenameSuffix(filenameSuffix)
              .setMaxDuration(maxDuration)
              .build();

      Subscription subscription =
          subscriptionAdminClient.createSubscription(
              Subscription.newBuilder()
                  .setName(subscriptionName.toString())
                  .setTopic(topicName.toString())
                  .setCloudStorageConfig(cloudStorageConfig)
                  .build());

      System.out.println("Created a CloudStorage subscription: " + subscription.getAllFields());
    }
  }
}

Memantau langganan

Cloud Monitoring menyediakan sejumlah metrik untuk memantau langganan.

Anda juga dapat memantau langganan dari dalam Pub/Sub.

Langkah selanjutnya