Memublikasikan peristiwa dari sumber Google

Anda dapat mengaktifkan atau menonaktifkan pengumpulan dan publikasi peristiwa dari sumber Google untuk bus Eventarc Advanced tertentu.

Peristiwa dari sumber Google dipicu langsung oleh peristiwa yang tidak dimediasi seperti pembuatan fungsi Cloud Run atau perubahan status pada tugas Dataflow. Untuk mengetahui informasi selengkapnya, lihat Jenis peristiwa Google yang didukung oleh Eventarc.

Perhatikan hal berikut:

  • Ada batas satu GoogleApiSource resource per Google Cloud project.
  • Anda hanya dapat memublikasikan peristiwa dari sumber Google dalam Google Cloud project yang sama dengan resource GoogleApiSource.
  • Anda dapat memublikasikan peristiwa ke bus yang berada di Google Cloud project yang berbeda dengan project tempat resource GoogleApiSource berada. Anda dapat mengonfigurasi ini menggunakan gcloud CLI atau dengan mengirim permintaan ke Eventarc API.

Sebelum memulai

Jika belum, aktifkan Eventarc API dan Eventarc Publishing API.

Konsol

Aktifkan API

gcloud

gcloud services enable eventarc.googleapis.com eventarcpublishing.googleapis.com

Mengaktifkan peristiwa dari sumber Google

Untuk memublikasikan peristiwa dari sumber Google, Anda harus membuat resource GoogleApiSource. Resource ini merepresentasikan langganan ke peristiwa Google API di project Google Cloud tertentu untuk bus Eventarc Advanced tertentu.

Anda dapat mengaktifkan publikasi acara dari sumber Google dengan cara berikut:

  • Di Google Cloud console
  • 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. Anda dapat membuat bus atau, jika Anda memperbarui bus, klik Edit.

  3. Di halaman Edit bus, 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 pesan yang berbeda.
    2. Klik Buat.
  4. Klik Simpan.

gcloud

  1. Buka terminal.

  2. Anda dapat mengaktifkan peristiwa dari sumber Google menggunakan perintah gcloud beta eventarc google-api-sources create:

    gcloud beta eventarc google-api-source create GOOGLE_API_SOURCE_NAME \
        --destination-message-bus=BUS_NAME \
        --destination-message-bus-project=BUS_PROJECT_ID

    Ganti kode berikut:

    • GOOGLE_API_SOURCE_NAME: ID atau ID yang sepenuhnya memenuhi syarat dari resource GoogleApiSource yang mewakili langganan ke peristiwa Google API untuk bus tertentu
    • BUS_NAME: ID atau ID yang sepenuhnya memenuhi syarat dari bus yang ingin Anda gunakan untuk berlangganan peristiwa Google API
    • BUS_PROJECT_ID: Google Cloud project ID untuk bus

    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 logging yang harus berupa salah satu dari berikut ini: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Untuk mengetahui informasi selengkapnya, lihat LogSeverity.

REST API

Untuk mengaktifkan peristiwa dari sumber Google, gunakan metode projects.locations.googleApiSources.create.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • GOOGLE_API_SOURCE_NAME: nama tampilan resource GoogleApiSource yang merepresentasikan langganan ke peristiwa Google API untuk bus tertentu—misalnya, my_google_source.
  • LABEL_KEY dan LABEL_VALUE: opsional. Peta pasangan nilai dan kunci label yang membantu Anda mengatur resource. Google Cloud Untuk mengetahui 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.
  • DESTINATION: ID yang sepenuhnya memenuhi syarat dari bus Eventarc Advanced tempat peristiwa sumber Google harus dipublikasikan dalam format projects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME. Untuk mengetahui informasi selengkapnya, lihat Membuat bus untuk merutekan pesan.
  • ENCRYPT_KEY: optional. Kunci Cloud KMS yang harus digunakan resource GoogleApiSource 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: ID Google Cloud project tempat membuat resource GoogleApiSource.
  • LOCATION: region yang didukung untuk membuat resource GoogleApiSource—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 mengetahui informasi selengkapnya, lihat LogSeverity.

Meminta isi JSON:

{
  "displayName": "GOOGLE_API_SOURCE_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "destination": "DESTINATION",
  "cryptoKeyName": "ENCRYPT_KEY",
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"}
}

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/googleApiSources/GOOGLE_API_SOURCE_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Peristiwa dari sumber Google dalam Google Cloud project yang sama dengan resource GoogleApiSource kini dikumpulkan dan dipublikasikan ke bus.

Menonaktifkan peristiwa dari sumber Google

Untuk menonaktifkan publikasi peristiwa dari sumber Google di projectGoogle Cloud tertentu ke bus Eventarc Advanced, Anda harus menghapus resource GoogleApiSource.

Anda dapat menonaktifkan publikasi acara dari sumber Google dengan cara berikut:

  • Di Google Cloud console
  • 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 details.

    Buka Detail bus

  2. Klik Edit.

  3. Di halaman Edit bus, untuk menghapus penyedia pesan Google API, klik Hapus resource untuk sumber pesan google-api-source (atau nama yang telah Anda berikan).

  4. Saat diminta untuk Hapus resource, klik Konfirmasi.

  5. Klik Simpan.

gcloud

  1. Buka terminal.

  2. Anda dapat menonaktifkan peristiwa dari sumber Google menggunakan perintah gcloud beta eventarc google-api-sources delete:

    gcloud beta eventarc google-api-source delete GOOGLE_API_SOURCE_NAME \
        --location=REGION

    Ganti kode berikut:

    • GOOGLE_API_SOURCE_NAME: ID atau ID yang memenuhi syarat sepenuhnya dari resource GoogleApiSource
    • REGION: lokasi resource GoogleApiSource

REST API

Untuk menonaktifkan peristiwa dari sumber Google, gunakan metode projects.locations.googleApiSources.delete.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

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

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

Peristiwa dari sumber Google di project yang sama dengan resource Google Cloud yang dihapus GoogleApiSource tidak lagi dikumpulkan dan dipublikasikan.

Langkah berikutnya