Membuat pendaftaran untuk menerima peristiwa

Pendaftaran mengidentifikasi langganan ke bus tertentu. Pendaftaran menentukan kriteria pencocokan yang menentukan pesan mana yang dirutekan ke tujuan. Tindakan ini juga menentukan pipeline yang harus digunakan untuk merutekan pesan yang cocok. Pipeline memungkinkan Anda mengonfigurasi tujuan target dan juga memberikan opsi untuk mengubah peristiwa yang cocok sebelum mengirimkannya ke tujuan.

Perhatikan hal berikut:

  • Pipeline dan pendaftaran harus berada dalam project Google Cloud yang sama. (Bus dapat berada dalam project yang sama atau berbeda.)
  • Satu pipeline dapat digunakan untuk beberapa pendaftaran.
  • Hanya satu tujuan yang dapat menjadi target pesan yang dirutekan oleh pipeline.

Sebelum memulai

Sebelum mengonfigurasi pipeline atau pendaftaran, Anda seharusnya sudah membuat bus Eventarc Advanced.

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 pipeline dan pendaftaran untuk merutekan pesan:

  • Untuk mendapatkan izin yang diperlukan untuk membuat pipeline, minta administrator Anda untuk memberi Anda peran IAM Developer Eventarc (roles/eventarc.developer) di project pipeline Anda. Peran bawaan ini berisi izin eventarc.pipelines.create, yang diperlukan untuk membuat pipeline.
  • Untuk mendapatkan izin yang diperlukan untuk membuat pendaftaran, minta administrator Anda untuk memberi Anda peran IAM Eventarc Developer (roles/eventarc.developer) di project pendaftaran Anda. Peran bawaan ini berisi izin eventarc.enrollments.create, yang diperlukan untuk membuat pendaftaran.
  • Untuk mendapatkan izin yang diperlukan untuk menggunakan bus, minta administrator Anda 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 mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses. Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Membuat pendaftaran dan pipeline

Anda dapat membuat pipeline dan pendaftaran dengan cara berikut:

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

Konsol

Di konsol Google Cloud , Anda dapat membuat pipeline dan pendaftaran secara bersamaan dari halaman Pipelines.

  1. Untuk membuat pendaftaran, di konsol Google Cloud , buka halaman Eventarc > Pipelines.

    Buka Pipeline

  2. Klik Buat pipeline.

  3. Di panel Pipeline details, lakukan hal berikut:

    1. Masukkan Nama pipeline. Ini adalah ID untuk pipeline Anda.
    2. Di daftar Region, pilih region untuk men-deploy pipeline Anda. Pipeline harus dibuat di region yang sama dengan bus. Untuk informasi selengkapnya, lihat Lokasi Lanjutan Eventarc.
    3. Opsional: Di daftar Tingkat keparahan log, pilih tingkat keparahan minimum untuk peristiwa yang dijelaskan dalam entri log. Defaultnya adalah Tidak ada. Untuk mengetahui informasi selengkapnya, lihat LogSeverity.
    4. Opsional: Di bagian Kebijakan percobaan ulang, Anda dapat mengubah konfigurasi default untuk mencoba ulang peristiwa.
    5. Untuk Encryption, terima Google-managed encryption key default atau pilih Cloud KMS key. Untuk mengetahui 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 cincin kunci dan kunci sesuai permintaan. Jika opsi Autokey dinonaktifkan, opsi tersebut belum terintegrasi dengan jenis resource saat ini.

      2. Di Pilih kunci yang dikelola pelanggan, 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 kepada Agen Layanan Eventarc.

    7. Opsional: Untuk menambahkan label, klik Tambahkan label. Label adalah pasangan nilai kunci yang membantu Anda mengaturGoogle Cloud resource. Untuk mengetahui informasi selengkapnya, lihat Apa yang dimaksud dengan label?

    8. Klik Lanjutkan.

  4. Di panel Enrollments, lakukan hal berikut:

    1. Klik Tambahkan pendaftaran.
    2. Masukkan Nama pendaftaran.
    3. Di daftar Bus, pilih bus yang akan diikuti.
    4. Di kolom ekspresi CEL, tulis ekspresi evaluasi menggunakan CEL. Contoh:

      message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"

      Perhatikan bahwa ekspresi default, true, menunjukkan bahwa semua pesan dirutekan tanpa difilter.

    5. Klik Selesai.

    6. Anda dapat menambahkan pendaftaran lain atau mengklik Lanjutkan.

  5. Opsional: Di panel Mediasi peristiwa, lakukan hal berikut atau klik Lanjutkan:

    1. Centang kotak Terapkan transformasi.
    2. Dalam daftar Format masuk, pilih format yang sesuai.

      Perhatikan bahwa saat menerapkan transformasi, Anda harus menentukan format data masuk untuk pipeline, dan semua peristiwa harus cocok dengan format tersebut.

    3. Untuk format Avro atau Protobuf, Anda harus menentukan skema masuk. Secara opsional, Anda dapat mengupload skema masuk. Untuk mengetahui informasi selengkapnya, lihat Memformat peristiwa yang diterima.

    4. Di kolom ekspresi CEL, tulis ekspresi transformasi menggunakan CEL.

    5. Klik Lanjutkan.

  6. Di panel Tujuan, lakukan hal berikut:

    1. Di daftar Destination type, pilih jenis tujuan untuk merutekan pesan. Bergantung pada jenis tujuan, lakukan tindakan berikut:

      • Endpoint HTTP: Tentukan URI tujuan. Host dapat berupa alamat IP statis yang dapat diakses dari jaringan Virtual Private Cloud (VPC), atau nama host Sistem Nama Domain (DNS) internal dari layanan yang dapat diselesaikan menggunakan Cloud DNS.

        Perhatikan bahwa Anda dapat menggunakan jenis tujuan ini untuk menargetkan fungsi Cloud Run.

      • Bus Eventarc Advanced: Pilih bus Eventarc Advanced.

      • Alur kerja Workflows: Pilih alur kerja Workflows.

      • Topik Pub/Sub: Pilih atau buat topik Pub/Sub.

      • Layanan Cloud Run (melalui HTTP): Pilih layanan Cloud Run yang akan menerima peristiwa sebagai permintaan HTTP POST yang dikirim ke jalur URL root-nya (/); secara opsional, Anda dapat menentukan jalur URL relatif pada layanan tujuan tempat peristiwa harus dikirim.

      • Tugas Cloud Run (melalui HTTP): Pilih tugas Cloud Run yang akan menerima peristiwa sebagai permintaan HTTP POST.

    2. Khusus untuk endpoint HTTP (termasuk URL Cloud Run), tentukan lampiran jaringan.

      Lampiran jaringan adalah resource yang memungkinkan jaringan VPC produsen memulai koneksi ke jaringan VPC konsumen. Untuk memublikasikan peristiwa, Eventarc Advanced menggunakan lampiran jaringan untuk membuat koneksi ke endpoint yang dihosting di jaringan VPC.

      Anda dapat membuat lampiran jaringan yang otomatis menerima koneksi dari antarmuka Private Service Connect mana pun yang merujuk ke lampiran jaringan. Buat lampiran jaringan di jaringan dan region yang sama dengan endpoint tujuan.

      Jika Anda merutekan pesan ke tujuan Google menggunakan alamat DNS, misalnya, Cloud Run, pastikan Akses Google Pribadi diaktifkan di subnet yang digunakan dalam lampiran jaringan. Jika tidak, alamat DNS tidak dapat diselesaikan.

    3. Jika berlaku, pilih format dalam daftar Format keluar.

      Perhatikan bahwa jika format data masuk tidak ditentukan untuk pipeline, format keluar tidak dapat ditetapkan.

    4. Jika berlaku, terapkan Pengikatan pesan. Untuk mengetahui informasi selengkapnya, lihat Menentukan binding pesan.

    5. Untuk mengaktifkan autentikasi, centang kotak Aktifkan autentikasi.

      1. Pada daftar Header auth, pilih jenis token yang akan dibuat dan dilampirkan sebagai header Authorization dalam permintaan HTTP:

        • Token OAuth umumnya hanya boleh digunakan saat memanggil Google API yang dihosting di *.googleapis.com. Atau, tentukan Cakupan token ini; jika tidak, token akan ditetapkan secara default ke https://www.googleapis.com/auth/cloud-platform. Untuk layanan Google Cloud , praktik terbaiknya adalah menggunakan cakupan https://www.googleapis.com/auth/cloud-platform, yang mencakup semua Google Cloud API, bersama dengan Identity and Access Management (IAM), yang menyediakan kontrol akses terperinci.

          Perhatikan bahwa semua permintaan ke bus Eventarc Advanced, Pub/Sub, atau Workflows lainnya harus memiliki header Otorisasi HTTP yang berisi token OAuth yang ditandatangani oleh Google untuk salah satu akun layanan yang diberi otorisasi.

        • Token OIDC dapat digunakan untuk banyak skenario, termasuk endpoint tempat Anda berencana memvalidasi token sendiri. Selain itu, tentukan Audience yang dituju oleh token ini. Umumnya, URL ini harus cocok dengan URL pipeline target. Jika tidak ditentukan, seluruh URL akan digunakan, termasuk parameter permintaan apa pun.

          Perhatikan bahwa Cloud Run melakukan pemeriksaan IAM pada setiap permintaan dan Anda dapat menggunakan izin run.routes.invoke untuk mengonfigurasi siapa saja yang dapat mengakses layanan Cloud Run Anda dengan salah satu cara berikut:

          • Berikan izin untuk memilih akun atau grup layanan yang akan mengizinkan akses ke layanan tersebut. Semua permintaan harus memiliki header Otorisasi HTTP yang berisi token OpenID Connect yang ditandatangani oleh Google untuk salah satu akun layanan yang diberi otorisasi.

          • Berikan izin kepada allUsers untuk mengizinkan akses tanpa autentikasi.

          Untuk mengetahui informasi selengkapnya, lihat Kontrol akses untuk Cloud Run.

        Pelajari jenis token lebih lanjut.

      2. Dalam daftar Service account, pilih akun layanan yang akan memanggil layanan tujuan Anda. Atau, Anda dapat membuat akun layanan baru.

        Ini menentukan email akun layanan IAM yang terkait dengan pipeline dan yang sebelumnya Anda beri peran spesifik yang diperlukan oleh Eventarc Advanced.

  7. Klik Buat.

gcloud

Saat menggunakan gcloud CLI, buat terlebih dahulu pipeline, lalu buat pendaftaran menggunakan perintah yang sesuai.

Pipeline

  1. Buka terminal.

  2. Buat pipeline menggunakan perintah gcloud beta eventarc pipelines create:

    gcloud beta eventarc pipelines create PIPELINE_NAME \
        --destinations=DESTINATION_KEY \
        --location=LOCATION

    Ganti kode berikut:

    • PIPELINE_NAME: ID pipeline atau nama yang sepenuhnya memenuhi syarat
    • DESTINATION_KEY: satu atau beberapa key-value pair untuk mengonfigurasi tujuan pipeline

      Anda hanya boleh menyetel satu kunci berikut:

      Khusus untuk http_endpoint_uri (termasuk URL Cloud Run), Anda harus menetapkan kunci berikut:

      • network_attachment—resource yang memungkinkan jaringan VPC produsen memulai koneksi ke jaringan VPC konsumen. Untuk memublikasikan peristiwa, Eventarc Advanced menggunakan lampiran jaringan untuk membuat koneksi ke endpoint yang dihosting di jaringan VPC.

        Anda dapat membuat lampiran jaringan yang otomatis menerima koneksi dari antarmuka Private Service Connect mana pun yang merujuk ke lampiran jaringan. Buat lampiran jaringan di jaringan dan region yang sama dengan yang berisi resource tujuan.

        Jika Anda merutekan pesan ke tujuan Google menggunakan alamat DNS—misalnya, Cloud Run—pastikan Akses Google Pribadi diaktifkan di subnet yang digunakan dalam lampiran jaringan; jika tidak, alamat DNS tidak dapat diselesaikan.

      Untuk mengaktifkan autentikasi, Anda dapat menetapkan salah satu kunci berikut:

      • google_oidc_authentication_service_account—email akun layanan yang digunakan untuk membuat token OIDC yang dapat digunakan untuk banyak skenario, termasuk endpoint tempat Anda ingin memvalidasi token sendiri. Secara opsional, Anda dapat menetapkan google_oidc_authentication_audience untuk menentukan audiens yang dituju token ini. Umumnya, URL ini harus cocok dengan URL pipeline target. Jika tidak ditentukan, seluruh URL akan digunakan, termasuk parameter permintaan apa pun.

        Perhatikan bahwa Cloud Run melakukan pemeriksaan IAM pada setiap permintaan dan Anda dapat menggunakan izin run.routes.invoke untuk mengonfigurasi siapa saja yang dapat mengakses layanan Cloud Run Anda dengan salah satu cara berikut:

        • Berikan izin untuk memilih akun atau grup layanan yang akan mengizinkan akses ke layanan tersebut. Semua permintaan harus memiliki header Otorisasi HTTP yang berisi token OpenID Connect yang ditandatangani oleh Google untuk salah satu akun layanan yang diberi otorisasi.

        • Berikan izin kepada allUsers untuk mengizinkan akses tanpa autentikasi.

        Untuk mengetahui informasi selengkapnya, lihat Kontrol akses untuk Cloud Run .

      • oauth_token_authentication_service_account—email akun layanan yang digunakan untuk membuat token OAuth yang umumnya hanya boleh digunakan saat memanggil Google API yang dihosting di *.googleapis.com. Secara opsional, Anda dapat menetapkan oauth_token_authentication_scope untuk menentukan cakupan token ini; jika tidak, defaultnya adalah https://www.googleapis.com/auth/cloud-platform. Untuk layanan Google Cloud , praktik terbaiknya adalah menggunakan cakupan https://www.googleapis.com/auth/cloud-platform, yang mencakup semua Google Cloud API, bersama dengan Identity and Access Management (IAM), yang menyediakan kontrol akses terperinci.

        Perhatikan bahwa semua permintaan ke bus Eventarc Advanced, Pub/Sub, atau Workflows lainnya harus memiliki header Otorisasi HTTP yang berisi token OAuth yang ditandatangani oleh Google untuk salah satu akun layanan yang diberi otorisasi.

        Pelajari jenis token lebih lanjut.

      Opsional: Anda dapat menetapkan salah satu kunci berikut:

      • output_payload_format_avro_schema_definition
      • output_payload_format_json
      • output_payload_format_protobuf_schema_definition

        Perhatikan bahwa jika Anda menetapkan format output, Anda juga harus menentukan format input (lihat flag input-payload-format-* berikut).

      Opsional: Jika http_endpoint_uri tidak digunakan sebagai kunci tujuan, Anda dapat menetapkan kunci berikut:

      • project—project ID dari resource tujuan; secara default, project ID untuk pipeline digunakan. Google Cloud
      • location—lokasi resource tujuan; secara default, lokasi untuk pipeline digunakan.
    • LOCATION: region Eventarc Advanced yang didukung

      Atau, Anda dapat menetapkan properti lokasi gcloud CLI:

      gcloud config set eventarc/location LOCATION
      

    Opsional: Anda 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 logging yang harus berupa salah satu dari berikut ini: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY.
    • --mediations untuk menerapkan transformasi; transformation_template adalah satu-satunya template yang didukung dan hanya satu mediasi per pipeline yang didukung; misalnya:

      --mediations=transformation_template='message.removeFields(["id\ ","credit_card_number","age"])'

      Perhatikan bahwa jika Anda menerapkan transformasi, Anda harus menggunakan salah satu flag berikut untuk menentukan format input.

    • Salah satu opsi berikut untuk menentukan format input:

      • --input-payload-format-avro-schema-definition
      • --input-payload-format-json
      • --input-payload-format-protobuf-schema-definition
    • --max-retry-attempts, --max-retry-delay, dan --min-retry-delay untuk mencoba lagi peristiwa

    Contoh:

    gcloud beta eventarc pipelines create my-pipeline \
        --destinations=http_endpoint_uri='https://example-endpoint.com',network_attachment=my-network-attachment,oauth_token_authentication_service_account=example-service-account@example-project.gserviceaccount.iam.com,oauth_token_authentication_scope='https://www.googleapis.com/auth/cloud-platform',output_payload_format_avro_schema_definition='{"type": "record","name": "my_record", "fields": [{"name": "my_field", "type":"string"}]}' \
        --input-payload-format-avro-schema-definition='{"type":"record", "name": "my_record", "fields": [{"name": "my_field","type": "string"}]}' \
        --location=us-central1 \
        --async
    

    Untuk mengetahui detail dan contoh selengkapnya, lihat dokumentasi gcloud CLI.

Pendaftaran

  1. Buka terminal.

  2. Buat pendaftaran menggunakan perintah gcloud beta eventarc enrollments create:

    gcloud beta eventarc enrollments create ENROLLMENT_NAME \
        --cel-match=MATCH_EXPRESSION \
        --destination-pipeline=PIPELINE_NAME \
        --message-bus=BUS_NAME \
        --message-bus-project=PROJECT_ID \
        --location=LOCATION

    Ganti kode berikut:

    • ENROLLMENT_NAME: ID pendaftaran atau nama yang sepenuhnya memenuhi syarat
    • MATCH_EXPRESSION: ekspresi pencocokan untuk pendaftaran ini menggunakan CEL—misalnya, "message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'"
    • PIPELINE_NAME: ID pipeline target atau nama lengkapnya untuk pendaftaran ini
    • BUS_NAME: ID bus Eventarc Advanced atau nama lengkapnya
    • PROJECT_ID: Google Cloud project ID untuk bus
    • LOCATION: region Eventarc Advanced yang didukung

      Atau, Anda dapat menetapkan properti lokasi gcloud CLI:

      gcloud config set eventarc/location LOCATION
      

    Opsional: Anda dapat menggunakan flag berikut:

    • --async untuk segera kembali dari perintah, tanpa menunggu operasi yang sedang berlangsung selesai

    Contoh:

    gcloud beta eventarc enrollments create my-enrollment \
        --cel-match="message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'" \
        --destination-pipeline=my-pipeline \
        --message-bus=my-message-bus \
        --message-bus-project=another-google-cloud-project \
        --location=us-central1 \
        --async
    

REST API

Saat mengirim permintaan ke Eventarc API, buat pipeline terlebih dahulu, lalu buat pendaftaran.

Pipeline

Untuk membuat pipeline, gunakan metode projects.locations.pipelines.create.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • name: nama lengkap resource pipeline dalam format projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project untuk project pipeline
    • LOCATION: region tempat pipeline akan di-deploy—misalnya, us-central1
    • PIPELINE_NAME: nama pipeline
  • 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 kunci anotasi teks bentuk bebas. Anda dapat menggunakannya untuk melampirkan informasi arbitrer yang terkait dengan resource. Untuk mengetahui informasi selengkapnya, lihat Anotasi.
  • 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 mengetahui informasi selengkapnya, lihat LogSeverity.
  • destinations: tujuan ke mana pesan akan diteruskan. Hanya satu tujuan yang didukung: httpEndpoint, messageBus, topic, atau workflow. Untuk mengetahui informasi selengkapnya, lihat Destination target. Misalnya, ganti yang berikut:
    • HTTP_URI: URI tujuan. Host dapat berupa alamat IP statis yang dapat diakses dari jaringan Virtual Private Cloud (VPC), atau nama host Domain Name System (DNS) internal dari layanan yang dapat di-resolve menggunakan Cloud DNS. Secara opsional, Anda juga dapat menetapkan messageBindingTemplate untuk menentukan pengikatan pesan.
    • networkAttachment: hanya berlaku untuk httpEndpoint (termasuk URL Cloud Run). Nama lengkap resource lampiran jaringan dalam format ini: projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION /networkAttachments/NETWORK_ATTACHMENT_NAME. Lampiran jaringan adalah resource yang memungkinkan jaringan Virtual Private Cloud produsen memulai koneksi ke jaringan VPC konsumen dan harus ditentukan. Untuk memublikasikan peristiwa, Eventarc Advanced menggunakan lampiran jaringan untuk membuat koneksi ke endpoint yang dihosting dalam jaringan VPC.

      Anda dapat membuat lampiran jaringan yang otomatis menerima koneksi dari antarmuka Private Service Connect mana pun yang merujuk ke lampiran jaringan. Buat lampiran jaringan di jaringan dan region yang sama yang berisi resource tujuan.

      Jika Anda merutekan pesan ke tujuan Google menggunakan alamat DNS—misalnya, Cloud Run—pastikan Akses Google Pribadi diaktifkan di subnet yang digunakan dalam lampiran jaringan; jika tidak, alamat DNS tidak dapat di-resolve.

    • SERVICE_ACCOUNT_EMAIL: nama email akun layanan yang digunakan untuk membuat token OIDC yang dapat digunakan untuk banyak skenario, termasuk endpoint tempat Anda ingin memvalidasi token sendiri. Secara opsional, Anda dapat menyetel audience untuk menentukan audiens yang dituju token ini. Umumnya, URL ini harus cocok dengan URL pipeline target. Jika tidak ditentukan, seluruh URL akan digunakan, termasuk parameter permintaan apa pun.

      Atau, Anda dapat menggunakan oauthToken untuk menentukan email akun layanan yang digunakan untuk membuat token OAuth yang umumnya hanya boleh digunakan saat memanggil Google API yang dihosting di *.googleapis.com. Secara opsional, Anda dapat menetapkan scope untuk menentukan cakupan token ini; jika tidak, defaultnya adalah https://www.googleapis.com/auth/cloud-platform. Untuk layanan Google Cloud, praktik terbaiknya adalah menggunakan cakupan https://www.googleapis.com/auth/cloud-platform, yang mencakup semua API Google Cloud , bersama dengan Identity and Access Management (IAM), yang menyediakan kontrol akses terperinci.

      Perhatikan bahwa semua permintaan ke bus Eventarc Advanced lainnya, Pub/Sub, atau Workflows harus memiliki header Otorisasi HTTP yang berisi token OAuth yang ditandatangani oleh Google untuk salah satu akun layanan yang diberi otorisasi.

      Pelajari jenis token lebih lanjut.

Meminta isi JSON:

{
  "name": "projects/PROJECT_ID/regions/LOCATION/pipelines/PIPELINE_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"},
  "destinations": [{"httpEndpoint": {"uri": "HTTP_URI"},"networkConfig":
  {"networkAttachment": "projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION/networkAttachments/NETWORK_ATTACHMENT_NAME"},
  "authenticationConfig": {"googleOidc": {"serviceAccount": "SERVICE_ACCOUNT_EMAIL"}}}]
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Jika berhasil, isi respons 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/pipelines/PIPELINE_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Pendaftaran

Untuk membuat pendaftaran, gunakan metode projects.locations.enrollments.create.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • ENROLLMENT_NAME: nama tampilan pendaftaran Anda—misalnya, my_enrollment.
  • MATCH_EXPRESSION: ekspresi CEL yang mengidentifikasi pesan mana yang berlaku untuk pendaftaran ini. Misalnya, message.type == 'hello-world-type'.
  • destination: nama resource lengkap pipeline target dalam format projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME.

    Ganti kode berikut:

    • PROJECT_ID: Google Cloud project ID untuk project pipeline
    • LOCATION: region tempat pipeline di-deploy—misalnya, us-central1.
    • PIPELINE_NAME: nama pipeline
  • message_bus: nama lengkap resource bus yang mengidentifikasi sumber pesan dalam format projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME.

    Ganti kode berikut:

    • BUS_PROJECT_ID: the Google Cloud project ID untuk project bus
    • BUS_LOCATION: region tempat bus di-deploy—misalnya, us-central1
    • BUS_NAME: nama bus pesan

Meminta isi JSON:

{
  "display_name": "ENROLLMENT_NAME",
  "cel_match": "MATCH_EXPRESSION",
  "message_bus": "projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME",
  "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Jika berhasil, isi respons 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/enrollments/ENROLLMENT_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Mencantumkan pendaftaran

Anda dapat mencantumkan pendaftaran dengan cara berikut:

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

Konsol

  1. Untuk mencantumkan pendaftaran untuk pipeline tertentu, di konsol Google Cloud , buka halaman Eventarc > Pipelines.

    Buka Pipeline

  2. Klik nama pipeline yang pendaftarannya ingin Anda cantumkan.

    Halaman Pipeline details akan terbuka.

    Di tab Pendaftaran, semua pendaftaran yang terkait dengan pipeline akan dicantumkan.

gcloud

  1. Buka terminal.

  2. Buat daftar pendaftaran menggunakan perintah gcloud beta eventarc enrollments list:

    gcloud beta eventarc enrollments list \
        --location=LOCATION

    Ganti LOCATION dengan region Eventarc Advanced yang didukung.

REST API

Untuk mencantumkan pendaftaran, gunakan metode projects.locations.enrollments.list.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Google Cloud Anda.
  • LOCATION: region tempat pendaftaran dibuat—misalnya, us-central1.

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Jika berhasil, isi respons berisi instance Enrollment dan responsnya akan terlihat mirip dengan berikut:

{
  "enrollments": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/enrollments/ENROLLMENT_NAME",
      "uid": "06e396f5-2d4f-43d2-961f-fd2c88403326",
      "createTime": "2025-03-26T17:57:25.214845320Z",
      "updateTime": "2025-03-26T17:57:45.136172180Z",
      "celMatch": "message.type == \"hello-world-type\"",
      "messageBus": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
      "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
    },
    {...}
  ]
}

Menghapus pendaftaran

Anda dapat menghapus pendaftaran dengan cara berikut:

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

Konsol

  1. Untuk menghapus pendaftaran, di konsol Google Cloud , buka halaman Eventarc > Pipelines.

    Buka Pipeline

  2. Klik nama pipeline tempat Anda ingin menghapus pendaftaran.

    Panel Pipeline details akan terbuka.

  3. Klik Edit.

  4. Klik Lanjutkan.

    Panel Pendaftaran akan terbuka.

  5. Untuk pendaftaran yang ingin Anda hapus, klik ikon hapus .

  6. Klik Simpan.

gcloud

  1. Buka terminal.

  2. Hapus pendaftaran menggunakan perintah gcloud beta eventarc enrollments delete:

    gcloud beta eventarc enrollments delete ENROLLMENT_NAME \
          --location=LOCATION

    Ganti kode berikut:

REST API

Untuk menghapus pendaftaran, gunakan metode projects.locations.enrollments.delete.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • ENROLLMENT_NAME: nama tampilan pendaftaran yang ingin Anda hapus—misalnya, my_enrollment.
  • PROJECT_ID: project ID Google Cloud Anda.
  • LOCATION: region tempat pendaftaran di-deploy—misalnya, us-central1.

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Jika berhasil, isi respons 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/enrollments/ENROLLMENT_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Mencantumkan pipeline

Anda dapat membuat daftar pipeline dengan cara berikut:

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

Konsol

Di konsol Google Cloud , buka halaman Eventarc > Pipelines.

Buka Pipeline

Semua pipeline akan dicantumkan. Anda dapat secara opsional menggunakan Filter untuk membatasi penelusuran.

gcloud

  1. Buka terminal.

  2. Buat daftar pendaftaran menggunakan perintah gcloud beta eventarc pipelines list:

    gcloud beta eventarc pipelines list \
        --location=LOCATION

    Ganti LOCATION dengan region Eventarc Advanced yang didukung.

REST API

Untuk mencantumkan pipeline, gunakan metode projects.locations.pipelines.list.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Google Cloud Anda.
  • LOCATION: region tempat pipeline dibuat—misalnya, us-central1.

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Jika berhasil, isi respons berisi instance Pipeline dan responsnya akan terlihat mirip dengan berikut:

{
  "pipelines": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME",
      "createTime": "2025-01-10T20:32:11.606516066Z",
      "updateTime": "2025-03-26T18:02:34.886616683Z",
      "uid": "7d58dd18-323a-43f6-a456-4f8c20a70218",
      "destinations": [
        {
          "networkConfig": {
            "networkAttachment": "projects/PROJECT_ID/regions/LOCATION/networkAttachments/NETWORK_ATTACHMENT_NAME"
          },
          "httpEndpoint": {
            "uri": "HTTP_URI"
          },
          "authenticationConfig": {
            "googleOidc": {
              "serviceAccount": "SERVICE_ACCOUNT_EMAIL"
            }
          }
        }
      ],
      "loggingConfig": {
        "logSeverity": "NONE"
      },
      "retryPolicy": {
        "maxAttempts": 5,
        "minRetryDelay": "1s",
        "maxRetryDelay": "60s"
      }
    },
    {...}
  ]
}

Menghapus pipeline

Anda dapat menghapus pipeline dengan cara berikut:

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

Perhatikan bahwa penghapusan pipeline mungkin memerlukan waktu lebih dari 10 menit.

Konsol

  1. Untuk menghapus pipeline, di konsol Google Cloud , buka halaman Eventarc > Pipelines.

    Buka Pipeline

  2. Dalam daftar pipeline, centang kotak di samping nama pipeline yang ingin Anda hapus.

  3. Klik Hapus.

  4. Konfirmasi penghapusan dengan memasukkan Delete.

  5. Klik Hapus.

gcloud

  1. Buka terminal.

  2. Hapus pipeline menggunakan perintah gcloud beta eventarc pipelines delete:

    gcloud beta eventarc pipelines delete PIPELINE_NAME \
          --location=LOCATION

    Ganti kode berikut:

REST API

Untuk menghapus pipeline, gunakan metode projects.locations.pipelines.delete.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PIPELINE_NAME: nama tampilan pipeline yang ingin Anda hapus—misalnya, my_pipeline.
  • PROJECT_ID: project ID Google Cloud Anda.
  • LOCATION: region tempat pipeline di-deploy—misalnya, us-central1.

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Jika berhasil, isi respons 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/pipelines/PIPELINE_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Langkah berikutnya