Membuat bus untuk merutekan pesan

Bus Eventarc Advanced memungkinkan Anda memusatkan, memantau, dan melacak alur pesan melalui sistem, serta bertindak sebagai router. Fungsi ini menerima peristiwa dari sumber pesan atau dipublikasikan oleh penyedia, dan mengevaluasinya sesuai dengan pendaftaran. Pendaftaran mengidentifikasi langganan ke bus tertentu, dan menentukan kriteria pencocokan untuk pesan, sehingga pesan tersebut dirutekan sesuai dengan kriteria tersebut. Untuk mengetahui informasi selengkapnya, lihat Membuat pendaftaran untuk menerima peristiwa.

Bus dapat digunakan oleh penyedia dan tujuan peristiwa dalam project Anda atau dalam project lain. Untuk mengetahui informasi selengkapnya, lihat Tata letak project.

Peran yang diperlukan

Peran Identity and Access Management (IAM) berisi serangkaian izin yang memungkinkan Anda melakukan tindakan tertentu pada resource Google Cloud . Peran dan izin berikut diperlukan saat membuat bus untuk merutekan pesan:

  • Untuk mendapatkan izin yang diperlukan guna membuat bus, minta admin untuk memberi Anda peran IAM Eventarc Admin (roles/eventarc.admin) atau Eventarc Message Bus Admin (roles/eventarc.messageBusAdmin) di project bus Anda. Peran bawaan ini berisi izin eventarc.messageBuses.create, yang diperlukan untuk membuat bus.
  • Untuk mendapatkan izin yang diperlukan guna menggunakan bus, minta admin untuk memberi Anda peran IAM Pengguna Bus Pesan Eventarc (roles/eventarc.messageBusUser) di project bus Anda. Peran bawaan ini berisi izin eventarc.buses.use, yang diperlukan untuk menggunakan bus.
  • Untuk membuat pipeline dan pendaftaran, izin tambahan diperlukan. Untuk mengetahui informasi selengkapnya, lihat peran yang diperlukan saat membuat pendaftaran.

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses. Anda mungkin juga dapat mendapatkan izin ini dengan peran khusus atau peran yang telah ditetapkan sebelumnya lainnya.

Membuat bus

Anda dapat membuat bus dengan cara berikut:

  • Di konsol Google Cloud
  • Dengan menggunakan Google Cloud CLI di terminal atau Cloud Shell
  • Dengan mengirim permintaan ke Eventarc API

Konsol

  1. Di konsol Google Cloud, buka halaman Eventarc > Bus.

    Buka Bus

  2. Klik Buat bus.

  3. Di halaman Create a bus, lakukan hal berikut:

    1. Masukkan Nama bus. Ini adalah ID untuk bus Anda.
    2. Opsional: Masukkan Nama tampilan bus yang ditampilkan di halaman Detail bus.
    3. Dalam daftar Region, pilih region yang didukung untuk men-deploy bus Anda.
    4. Dalam daftar Keparahan log, pilih tingkat keparahan minimum untuk peristiwa yang dijelaskan dalam entri log. Setelan default-nya adalah Tidak ada. Untuk informasi selengkapnya, lihat LogSeverity.
    5. Untuk Enkripsi, terima Google-managed encryption key default atau pilih Kunci Cloud KMS. Untuk informasi selengkapnya, lihat Menggunakan kunci enkripsi yang dikelola pelanggan (CMEK).
    6. Jika Anda memilih Kunci Cloud KMS, lakukan hal berikut:

      1. Dalam daftar Key type, pilih metode untuk mengelola kunci Anda.

        Anda dapat mengelola kunci secara manual atau menggunakan Autokey yang memungkinkan Anda membuat ring kunci dan kunci sesuai permintaan. Jika opsi Cloud KMS dengan Autokey dinonaktifkan, opsi tersebut belum terintegrasi dengan jenis resource saat ini.

      2. Di bagian Select a Cloud KMS key, pilih kunci.

        Perhatikan bahwa Anda harus memilih region sebelum dapat melihat kunci yang dikelola pelanggan.

      3. Opsional: Untuk memasukkan nama resource kunci secara manual, di daftar Pilih kunci yang dikelola pelanggan, klik Masukkan kunci secara manual, lalu masukkan nama kunci dalam format yang ditentukan.

      4. Jika diminta, berikan peran cloudkms.cryptoKeyEncrypterDecrypter ke Agen Layanan Eventarc.

    7. Opsional: Untuk menambahkan sumber pesan, klik Tambahkan sumber.

      1. Di panel Tambahkan sumber pesan, untuk penyedia pesan Google API, terima default google-api-source atau masukkan nama sumber yang berbeda.
      2. Klik Buat.

        Hal ini memungkinkan pengumpulan otomatis peristiwa yang berasal langsung dari sumber Google.

        Perhatikan bahwa hanya peristiwa dari resource dalam project Google Cloud yang sama dengan bus yang dipublikasikan. Untuk informasi selengkapnya, lihat Memublikasikan peristiwa dari sumber Google.

    8. Opsional: Untuk menambahkan label, klik Tambahkan label. Label adalah pasangan nilai kunci yang membantu Anda mengatur resourceGoogle Cloud . Untuk informasi selengkapnya, lihat Apa yang dimaksud dengan label?

  4. Klik Buat.

gcloud

  1. Buka terminal.

  2. Buat bus menggunakan perintah gcloud beta eventarc message-buses create.

    gcloud beta eventarc message-buses create BUS_NAME \
        --location=REGION
    

    Ganti kode berikut:

    • BUS_NAME: ID atau ID yang memenuhi syarat sepenuhnya dari bus
    • REGION: Lokasi yang didukung untuk bus

      Atau, Anda dapat menetapkan properti lokasi Google Cloud CLI:

      gcloud config set eventarc/location REGION
      

    Opsional: Anda juga dapat menggunakan flag berikut:

    • --async untuk segera kembali dari perintah, tanpa menunggu operasi yang sedang berlangsung selesai.
    • --crypto-key untuk menentukan nama yang sepenuhnya memenuhi syarat dari kunci enkripsi yang dikelola pelanggan; jika tidak ditentukan, Google-owned and managed keys akan digunakan.
    • --logging-config untuk mengonfigurasi tingkat keparahan minimum untuk peristiwa yang dijelaskan dalam entri log. Harus berupa salah satu dari hal berikut: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Defaultnya adalah NONE. Untuk informasi selengkapnya, lihat LogSeverity.

REST API

Untuk membuat bus, gunakan metode projects.locations.messageBuses.create.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • BUS_NAME: nama tampilan bus Anda—misalnya, my_bus.
  • LABEL_KEY dan LABEL_VALUE: opsional. Peta pasangan nilai dan kunci label yang membantu Anda mengatur resource Google Cloud . Untuk informasi selengkapnya, lihat Apa yang dimaksud dengan label?
  • ANNOTATION_KEY dan ANNOTATION_VALUE: opsional. Peta pasangan nilai dan kunci anotasi dari teks bentuk bebas. Anda dapat menggunakannya untuk melampirkan informasi arbitrer yang terkait dengan resource. Untuk informasi selengkapnya, lihat Anotasi.
  • ENCRYPT_KEY: optional. Kunci Cloud KMS yang harus digunakan bus untuk enkripsi data dalam format projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Untuk informasi selengkapnya, lihat Menggunakan kunci enkripsi yang dikelola pelanggan.
  • PROJECT_ID: project ID Google Cloud Anda.
  • LOCATION: Region tempat membuat bus—misalnya, us-central1.
  • LOG_SEVERITY: optional. Tingkat keparahan minimum peristiwa yang dijelaskan dalam entri log. Salah satu dari: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Defaultnya adalah NONE. Untuk informasi selengkapnya, lihat LogSeverity.

Meminta isi JSON:

{
  "display_name": "BUS_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "cryptoKeyName": "ENCRYPT_KEY",
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"}
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Jika berhasil, isi respons akan memuat instance Operation yang baru dibuat:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
    "createTime": "2024-01-25T17:17:45.782370139Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Menghapus bus

Anda dapat menghapus bus dengan cara berikut:

  • Di konsol Google Cloud
  • Dengan menggunakan gcloud CLI di terminal atau Cloud Shell
  • Dengan mengirim permintaan ke Eventarc API

Konsol

  1. Di konsol Google Cloud, buka halaman Eventarc > Bus.

    Buka Bus

  2. Klik nama bus yang ingin Anda hapus.

    Halaman Detail bus akan terbuka.

  3. Klik Hapus.

  4. Saat diminta untuk menghapus bus, untuk mengonfirmasi bahwa sumber pesan apa pun yang dikonfigurasi untuk menggunakan bus tidak akan dapat lagi, pilih kotak centang Do you want to proceed?.

  5. Untuk mengonfirmasi penghapusan, masukkan Delete.

  6. Klik Hapus.

gcloud

  1. Buka terminal.

  2. Hapus bus menggunakan perintah gcloud beta eventarc message-buses delete.

    gcloud beta eventarc message-buses delete BUS_NAME \
        --location=REGION
    

    Ganti kode berikut:

    • BUS_NAME: ID atau ID yang memenuhi syarat sepenuhnya dari bus
    • REGION: lokasi yang didukung untuk bus

REST API

Untuk menghapus bus, gunakan metode projects.locations.messageBuses.delete.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Google Cloud Anda.
  • LOCATION: region tempat bus dibuat—misalnya, us-central1.
  • BUS_NAME: nama bus yang ingin Anda hapus.

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Jika berhasil, isi respons akan berisi instance Operation yang baru dibuat:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
    "createTime": "2024-01-25T17:17:45.782370139Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Langkah berikutnya