Penanganan aktivitas dan tujuannya di Event Grid di Kubernetes

Penanganan aktivitas adalah sistem apa pun yang mengekspos titik akhir dan merupakan tujuan untuk aktivitas yang dikirim oleh Event Grid. Penangan aktivitas yang menerima peristiwa bertindak atasnya dan menggunakan payload peristiwa untuk mengeksekusi beberapa logika, yang mungkin menyebabkan terjadinya peristiwa baru.

Cara mengonfigurasi Event Grid untuk mengirim acara ke tujuan adalah melalui pembuatan langganan peristiwa. Ini dapat dilakukan melalui Azure CLI, SDK manajemen, atau menggunakan panggilan HTTP langsung menggunakan versi API 2020-10-15-preview.

Secara umum, Event Grid di Kubernetes dapat mengirimkan peristiwa ke tujuan apa pun melalui Webhook. Webhook adalah titik akhir HTTP yang diekspos oleh layanan atau beban kerja yang dapat diakses oleh Event Grid. Webhook dapat menjadi beban kerja yang dihosting di kluster yang sama, di ruang jaringan yang sama, di cloud, lokal, atau di mana saja yang dapat dijangkau Event Grid.

Penting

Event Grid di Kubernetes dengan Azure Arc saat ini sedang dalam pratinjau publik. Versi pratinjau ini diberikan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Melalui Webhook, Event Grid mendukung tujuan berikut yang dihost di kluster Kubernetes:

  • Azure App Service di Kubernetes dengan Azure Arc.
  • Azure Functions di Kubernetes dengan Azure Arc.
  • Azure Logic Apps di Kubernetes dengan Azure Arc.

Selain Webhook, Event Grid di Kubernetes dapat mengirimkan peristiwa ke tujuan berikut yang dihost di Azure:

  • Azure Event Grid menggunakan Webhook
  • Azure Functions hanya menggunakan Webhook
  • Azure Event Hubs menggunakan ID sumber daya Azure Resource Manager
  • Topik atau antrean Azure Service Bus menggunakan ID sumber daya Azure Resource Manager-nya
  • Antrean Azure Storage menggunakan ID sumber daya Azure Resource Manager-nya

Keseimbangan fitur

Event Grid di Kubernetes menawarkan tingkat keseimbangan fitur yang baik dengan dukungan Azure Event Grid untuk langganan peristiwa. Daftar berikut ini menghitung perbedaan utama dalam fungsionalitas langganan peristiwa. Terlepas dari perbedaan tersebut, Anda dapat menggunakan REST api versi 2020-10-15-preview Azure Event Grid sebagai referensi saat mengelola langganan peristiwa di Event Grid di Kubernetes.

  1. Gunakan REST api versi 2020-10-15-preview.
  2. Pemicu Azure Event Grid untuk Azure Functions tidak didukung. Anda dapat menggunakan jenis tujuan WebHook untuk mengirimkan acara ke Azure Functions.
  3. Tidak ada dukungan lokasi surat gagal. Itu berarti Bahwa Anda tidak dapat menggunakan properties.deadLetterDestination dalam payload langganan peristiwa Anda.
  4. Koneksi Hibrid Azure Relay sebagai tujuan belum didukung.
  5. Hanya skema CloudEvents yang didukung. Nilai skema yang didukung adalah "CloudEventSchemaV1_0". Skema Cloud Events dapat diperluas dan berdasarkan standar terbuka.
  6. Label (properties.labels) tidak berlaku untuk Event Grid di Kubernetes. Oleh karena itu, mereka tidak tersedia.
  7. Pengiriman dengan identitas sumber daya tidak didukung. Jadi, semua properti untuk Identitas Langganan Peristiwa tidak didukung.
  8. Validasi titik akhir tujuan belum didukung.

Pemfilteran peristiwa di langganan peristiwa

Aspek penting lainnya dalam mengonfigurasi langganan peristiwa adalah memilih peristiwa yang ingin dikirim ke tujuan. Untuk informasi selengkapnya, lihat Pemfilteran Peristiwa.

Contoh konfigurasi tujuan

Berikut ini adalah beberapa contoh konfigurasi dasar tergantung pada tujuan yang diinginkan.

WebHook

Untuk menerbitkan ke titik akhir WebHook, atur endpointType ke WebHook dan sediakan:

  • endpointUrl: URL titik akhir WebHook

        {
          "properties": {
            "destination": {
              "endpointType": "WebHook",
              "properties": {
                "endpointUrl": "<your-webhook-endpoint>"
              }
            }
          }
        }
    

Azure Event Grid

Untuk menerbitkan ke titik akhir cloud Azure Event Grid, atur endpointType ke WebHook dan sediakan:

  • endpointUrl: URL topik Azure Event Grid di cloud dengan parameter versi API diatur ke 2018-01-01 dan aeg-sas-key diatur ke kunci SAS yang dikodekan URL.

      {
        "properties": {
          "destination": {
            "endpointType": "WebHook",
            "properties": {
              "endpointUrl": "<your-event-grid-cloud-topic-endpoint-url>?api-version=2018-01-01&aeg-sas-key=urlencoded(sas-key-value)"
            }
          }
        }
      }
    

Event Hubs

Untuk menerbitkan ke Azure Event Hubs, atur ke eventHub dan sediakanendpointType:

  • resourceId: ID sumber daya untuk hub peristiwa tertentu.

        {
          "properties": {
            "destination": {
              "endpointType": "eventHub",
              "properties": {
                "resourceId": "<Azure Resource ID of your event hub>"
              }
            }
          }
        }
    

Antrean Microsoft Azure Service Bus

Untuk menerbitkan ke antrean Service Bus, atur endpointType ke serviceBusQueue dan sediakan:

  • resourceId: ID sumber daya untuk antrean Service Bus tertentu.

        {
          "properties": {
            "destination": {
              "endpointType": "serviceBusQueue",
              "properties": {
                "resourceId": "<Azure Resource ID of your Service Bus queue>"
              }
            }
          }
        }
    

Topik Microsoft Azure Service Bus

Untuk menerbitkan ke topik Service Bus, atur endpointType ke serviceBusTopic dan sediakan:

  • resourceId: ID sumber daya untuk topik Service Bus tertentu.

    {
      "properties": {
        "destination": {
          "endpointType": "serviceBusTopic",
          "properties": {
            "resourceId": "<Azure Resource ID of your Service Bus topic>"
          }
        }
      }
    }
    

Antrean Penyimpanan

Untuk menerbitkan ke Antrean Penyimpanan, atur endpointType ke storageQueue dan berikan:

  • queueName: Nama antrean Azure Storage tempat Anda menerbitkan.

  • resourceID: ID sumber daya Azure dari akun penyimpanan yang berisi antrean.

    {
      "properties": {
        "destination": {
          "endpointType": "storageQueue",
          "properties": {
            "queueName": "<your-storage-queue-name>",
            "resourceId": "<Azure Resource ID of your Storage account>"
          }
        }
      }
    }
    

Langkah berikutnya