Miejsca docelowe programów obsługi zdarzeń w usłudze Event Grid na platformie Kubernetes

Procedura obsługi zdarzeń to dowolny system, który uwidacznia punkt końcowy i jest miejscem docelowym zdarzeń wysyłanych przez usługę Event Grid. Program obsługi zdarzeń odbierający zdarzenie działa na nim i używa ładunku zdarzeń do wykonania pewnej logiki, co może prowadzić do wystąpienia nowych zdarzeń.

Sposób konfigurowania usługi Event Grid w celu wysyłania zdarzeń do miejsca docelowego polega na utworzeniu subskrypcji zdarzeń. Można to zrobić za pomocą interfejsu wiersza polecenia platformy Azure, zestawu SDK zarządzania lub bezpośrednich wywołań protokołu HTTPs przy użyciu wersji interfejsu API 2020-10-15-preview.

Ogólnie rzecz biorąc, usługa Event Grid na platformie Kubernetes może wysyłać zdarzenia do dowolnego miejsca docelowego za pośrednictwem elementów webhook. Elementy webhook to punkty końcowe HTTP udostępniane przez usługę lub obciążenie, do których usługa Event Grid ma dostęp. Element webhook może być obciążeniem hostowanym w tym samym klastrze, w tej samej przestrzeni sieciowej, w chmurze, lokalnie lub w dowolnym miejscu, do którego może dotrzeć usługa Event Grid.

Ważne

Usługa Event Grid na platformie Kubernetes z usługą Azure Arc jest obecnie dostępna w publicznej wersji zapoznawczej. Ta wersja zapoznawcza nie jest objęta umową dotyczącą poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Za pomocą elementów webhook usługa Event Grid obsługuje następujące miejsca docelowe hostowane w klastrze Kubernetes:

  • aplikacja systemu Azure Service na platformie Kubernetes za pomocą usługi Azure Arc.
  • Usługa Azure Functions na platformie Kubernetes z usługą Azure Arc.
  • Usługa Azure Logic Apps na platformie Kubernetes z usługą Azure Arc.

Oprócz elementów webhook usługa Event Grid na platformie Kubernetes może wysyłać zdarzenia do następujących miejsc docelowych hostowanych na platformie Azure:

  • Usługa Azure Event Grid korzystająca z elementów webhook
  • Usługa Azure Functions korzystająca tylko z elementów webhook
  • Usługa Azure Event Hubs przy użyciu identyfikatora zasobu usługi Azure Resource Manager
  • Tematy lub kolejki usługi Azure Service Bus przy użyciu identyfikatora zasobu usługi Azure Resource Manager
  • Kolejka usługi Azure Storage korzystająca z identyfikatora zasobu usługi Azure Resource Manager

Parzystość funkcji

Usługa Event Grid na platformie Kubernetes oferuje dobry poziom parzystości funkcji z obsługą subskrypcji zdarzeń usługi Azure Event Grid. Poniższa lista wylicza główne różnice w funkcjonalności subskrypcji zdarzeń. Oprócz tych różnic można użyć interfejsu API REST usługi Azure Event Grid w wersji 2020-10-15-preview jako odwołania podczas zarządzania subskrypcjami zdarzeń w usłudze Event Grid na platformie Kubernetes.

  1. Użyj interfejsu API REST w wersji 2020-10-15-preview.
  2. Wyzwalacz usługi Azure Event Grid dla usługi Azure Functions nie jest obsługiwany. Do dostarczania zdarzeń do usługi Azure Functions można użyć typu docelowego elementu webhook.
  3. Nie ma obsługi lokalizacji utraconych wiadomości. Oznacza to, że nie można użyć properties.deadLetterDestination go w ładunku subskrypcji zdarzeń.
  4. Hybrydowe Połączenie usługi Azure Relay jako miejsce docelowe nie jest jeszcze obsługiwane.
  5. Obsługiwany jest tylko schemat CloudEvents. Obsługiwana wartość schematu to "CloudEventSchemaV1_0". Schemat zdarzeń w chmurze jest rozszerzalny i oparty na otwartych standardach.
  6. Etykiety (properties.labels) nie mają zastosowania do usługi Event Grid na platformie Kubernetes. W związku z tym nie są one dostępne.
  7. Dostarczanie z tożsamością zasobu nie jest obsługiwane. Dlatego wszystkie właściwości tożsamości subskrypcji zdarzeń nie są obsługiwane.
  8. Weryfikacja docelowego punktu końcowego nie jest jeszcze obsługiwana.

Filtrowanie zdarzeń w subskrypcjach zdarzeń

Innym ważnym aspektem konfigurowania subskrypcji zdarzeń jest wybranie zdarzeń, które mają być dostarczane do miejsca docelowego. Aby uzyskać więcej informacji, zobacz Filtrowanie zdarzeń.

Przykładowe konfiguracje docelowe

Poniżej przedstawiono kilka podstawowych przykładowych konfiguracji w zależności od zamierzonego miejsca docelowego.

Element webhook

Aby opublikować w punkcie końcowym elementu WebHook, ustaw wartość endpointTypeWebHook i podaj następujące ustawienia:

  • endpointUrl: adres URL punktu końcowego elementu webhook

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

Azure Event Grid

Aby opublikować w punkcie końcowym chmury usługi Azure Event Grid, ustaw wartość endpointTypeWebHook i podaj następujące ustawienia:

  • endpointUrl: adres URL tematu usługi Azure Event Grid w chmurze z parametrem wersji interfejsu API ustawionym na 2018-01-01 i aeg-sas-key ustawiony na zakodowany klucz SAS adresu 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

Aby opublikować w usłudze Event Hubs, ustaw wartość endpointTypeeventHub i podaj następujące ustawienia:

  • resourceId: identyfikator zasobu dla określonego centrum zdarzeń.

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

Kolejki usługi Service Bus

Aby opublikować w kolejce usługi Service Bus, ustaw wartość endpointTypeserviceBusQueue i podaj następujące ustawienia:

  • resourceId: identyfikator zasobu dla określonej kolejki usługi Service Bus.

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

Tematy usługi Service Bus

Aby opublikować w temacie usługi Service Bus, ustaw wartość endpointTypeserviceBusTopic i podaj następujące ustawienia:

  • resourceId: identyfikator zasobu dla określonego tematu usługi Service Bus.

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

Kolejki usługi Storage

Aby opublikować w kolejce magazynu, ustaw wartość endpointTypestorageQueue i podaj następujące ustawienia:

  • queueName: nazwa kolejki usługi Azure Storage, do której publikujesz.

  • resourceID: identyfikator zasobu platformy Azure konta magazynu zawierającego kolejkę.

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

Następne kroki