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 resource GoogleApiSource per project Google Cloud.
  • Anda hanya dapat memublikasikan peristiwa dari sumber Google dalam project Google Cloud yang sama dengan resource GoogleApiSource.
  • Anda dapat memublikasikan peristiwa ke bus yang berada di project Google Cloud yang berbeda dari project tempat resource GoogleApiSource berada. Anda dapat mengonfigurasinya menggunakan gcloud CLI atau dengan mengirim permintaan ke Eventarc API.

Mengaktifkan peristiwa dari sumber Google

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

Anda dapat mengaktifkan publikasi peristiwa dari sumber Google 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. Anda dapat membuat bus atau, jika 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 google-api-source default 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 Anda yang mewakili langganan ke peristiwa Google API untuk bus tertentu
    • BUS_NAME: ID atau ID yang sepenuhnya memenuhi syarat dari bus yang ingin Anda jadikan langganan untuk 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 level logging yang harus berupa salah satu dari hal berikut: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Untuk 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 mewakili 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 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.
  • DESTINATION: ID bus Eventarc Advanced yang sepenuhnya memenuhi syarat 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: project ID Google Cloud 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 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 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/googleApiSources/GOOGLE_API_SOURCE_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

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

Menonaktifkan peristiwa dari sumber Google

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

Anda dapat menonaktifkan publikasi peristiwa dari sumber Google 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 > Detail bus.

    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. Pada perintah Delete resource, klik Confirm.

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

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

Langkah berikutnya