Membuat pendaftaran untuk menerima peristiwa

Pendaftaran mengidentifikasi langganan ke bus tertentu. Pendaftaran menentukan kriteria pencocokan yang menentukan pesan mana yang dirutekan ke tujuan. Ini juga menentukan pipeline yang cocok dengan pesan yang harus dirutekan. Pipeline memungkinkan Anda mengonfigurasi tujuan target dan juga menyediakan 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 mengonfigurasi pipeline atau pendaftaran, Anda harus 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 guna membuat pipeline, minta administrator untuk memberi Anda peran IAM Eventarc Developer (roles/eventarc.developer) di project pipeline Anda. Peran yang telah ditentukan ini berisi izin eventarc.pipelines.create, yang diperlukan untuk membuat pipeline.
  • Untuk mendapatkan izin yang diperlukan guna membuat pendaftaran, minta admin untuk memberi Anda peran IAM Eventarc Developer (roles/eventarc.developer) di project pendaftaran Anda. Peran yang telah ditentukan ini berisi izin eventarc.enrollments.create, yang diperlukan untuk membuat pendaftaran.
  • 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 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.

Mendaftar untuk menerima peristiwa

Anda dapat membuat pipeline dan pendaftaran dengan cara berikut:

  • Di konsol Google Cloud
  • 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 Pipeline.

  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 tempat Anda akan men-deploy pipeline. Pipeline harus dibuat di region yang sama dengan bus. Untuk mengetahui informasi selengkapnya, lihat Lokasi Eventarc Advanced.
    3. Opsional: Dalam daftar Log severity, pilih tingkat keparahan minimum untuk peristiwa yang dijelaskan dalam entri log. Setelan default-nya 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 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 dinonaktifkan, opsi Kunci Otomatis belum terintegrasi dengan jenis resource saat ini.

      2. Di bagian 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 ke Agen Layanan Eventarc.

    7. 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?

    8. Klik Lanjutkan.

  4. Di panel Pendaftaran, lakukan hal berikut:

    1. Klik Tambahkan pendaftaran.
    2. Masukkan Nama pendaftaran.
    3. Dalam daftar Bus, pilih bus yang akan dibeli langganannya.
    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, tidak 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 berlaku.

      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 informasi selengkapnya, lihat Memformat peristiwa yang diterima.

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

    5. Klik Lanjutkan.

  6. Di panel Destination, lakukan hal berikut:

    1. Dalam 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 dialamatkan dari jaringan Virtual Private Cloud (VPC), atau nama host Domain Name System (DNS) internal dari layanan yang dapat di-resolve 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.

      • Pub/Sub topic: Pilih atau buat Pub/Sub topic.

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

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

    2. 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 yang merujuk ke lampiran jaringan. Buat lampiran jaringan di jaringan dan region yang sama yang berisi endpoint tujuan.

      Jika Anda merutekan pesan ke tujuan Google menggunakan alamat DNS, misalnya, Cloud Run, Pub/Sub, Alur Kerja, atau bus Advanced Eventarc lainnya, pastikan Akses Google Pribadi diaktifkan di subnet yang digunakan dalam lampiran jaringan. Jika tidak, alamat DNS tidak dapat di-resolve.

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

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

    4. Jika ada, terapkan Penautan pesan. Untuk informasi selengkapnya, lihat Menentukan binding pesan.

    5. Untuk mengaktifkan autentikasi, centang kotak Enable authentication.

      1. Dalam daftar Auth header, pilih jenis token yang akan dibuat dan lampirkan 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 layananGoogle Cloud , praktik terbaiknya adalah menggunakan cakupan https://www.googleapis.com/auth/cloud-platform, yang menyertakan semua Google Cloud API, bersama dengan Identity and Access Management (IAM), yang menyediakan kontrol akses terperinci.

          Perhatikan bahwa semua permintaan ke bus, Pub/Sub, atau Alur Kerja Advanced Eventarc 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 ingin memvalidasi token sendiri. Selain itu, tentukan Audiens yang menjadi tujuan 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 untuk 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 berikan peran tertentu yang diperlukan oleh Eventarc Advanced.

  7. Klik Buat.

gcloud

Saat menggunakan gcloud CLI, buat pipeline terlebih dahulu, 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=REGION

    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 harus menetapkan hanya satu kunci berikut:

      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 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, Pub/Sub, Alur Kerja, atau bus Advanced Eventarc lainnya—pastikan Akses Google Pribadi diaktifkan di subnet yang digunakan dalam lampiran jaringan. Jika tidak, alamat DNS tidak dapat di-resolve.

      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 menjadi target token ini. Umumnya, URL tersebut 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 untuk 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, nilai defaultnya adalah https://www.googleapis.com/auth/cloud-platform. Untuk layananGoogle Cloud , praktik terbaiknya adalah menggunakan cakupan https://www.googleapis.com/auth/cloud-platform, yang menyertakan semua Google Cloud API, bersama dengan Identity and Access Management (IAM), yang menyediakan kontrol akses terperinci.

        Perhatikan bahwa semua permintaan ke bus, Pub/Sub, atau Alur Kerja Advanced Eventarc 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 satu kunci berikut:

      • output_payload_format_avro_schema_definition
      • output_payload_format_json
      • output_payload_format_protobuf_schema_definition

        Perhatikan bahwa jika 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— Google Cloud project ID resource tujuan; secara default, project ID untuk pipeline akan digunakan.
      • location—lokasi resource tujuan; secara default, lokasi untuk pipeline akan digunakan.
    • REGION: Lokasi Eventarc Advanced yang didukung

      Atau, Anda dapat menetapkan properti lokasi gcloud CLI:

      gcloud config set eventarc/location REGION
      

    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 level logging yang harus berupa salah satu dari hal berikut: 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 menerapkan transformasi, Anda harus menggunakan salah satu flag berikut untuk menentukan format input.

    • Salah satu dari berikut ini 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 ulang 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=REGION

    Ganti kode berikut:

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

      Atau, Anda dapat menetapkan properti lokasi gcloud CLI:

      gcloud config set eventarc/location REGION
      

    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

Pipeline

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

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

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

    Ganti kode berikut:

    • PROJECT_ID: project ID Google Cloud 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 dan kunci anotasi dari teks bentuk bebas. Anda dapat menggunakannya untuk melampirkan informasi arbitrer yang terkait dengan resource. Untuk 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 informasi selengkapnya, lihat LogSeverity.
  • destinations: tujuan tempat pesan akan diteruskan. Hanya satu tujuan yang didukung: httpEndpoint, messageBus, topic, atau workflow. Untuk informasi selengkapnya, lihat target Destination. Misalnya, ganti kode berikut:
    • HTTP_URI: URI tujuan. Host dapat berupa IP statis yang dapat dialamatkan 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 binding pesan.
    • networkAttachment: nama resource lengkap dari lampiran jaringan dengan 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 di jaringan VPC.

      Anda dapat membuat lampiran jaringan yang otomatis menerima koneksi dari antarmuka Private Service Connect 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, Pub/Sub, Alur Kerja, atau bus Advanced Eventarc lainnya—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 menetapkan audience untuk menentukan audiens yang menjadi target token ini. Umumnya, URL ini harus cocok dengan URL pipeline target. Jika tidak ditentukan, seluruh URL akan digunakan, termasuk parameter permintaan.

      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, secara default akan mengikuti 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, Pub/Sub, atau Alur Kerja 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.

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 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/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 tempat pendaftaran ini berlaku. 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: project ID Google Cloud untuk project pipeline
    • LOCATION: Region tempat pipeline di-deploy, misalnya, us-central1.
    • PIPELINE_NAME: nama pipeline
  • message_bus: nama resource lengkap bus yang mengidentifikasi sumber pesan dalam format projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME.

    Ganti kode berikut:

    • BUS_PROJECT_ID: 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 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/enrollments/ENROLLMENT_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Menghapus pendaftaran

Anda dapat menghapus pendaftaran dengan cara berikut:

  • Di konsol Google Cloud
  • 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 Detail pipeline akan terbuka.

  3. Klik Lanjutkan.

    Panel Pendaftaran akan terbuka.

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

  5. Klik Simpan.

gcloud

  1. Buka terminal.

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

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

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

Menghapus pipeline

Anda dapat menghapus pipeline dengan cara berikut:

  • Di konsol Google Cloud
  • 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=REGION

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

Langkah berikutnya