Używanie funkcji jako procedury obsługi zdarzeń dla zdarzeń usługi Event Grid

Procedura obsługi zdarzeń to miejsce, w którym jest wysyłane zdarzenie. Procedura obsługi wykonuje akcję w celu przetworzenia zdarzenia. Kilka usług platformy Azure jest automatycznie skonfigurowanych do obsługi zdarzeń, a usługa Azure Functions jest jedną z nich.

Aby użyć funkcji na platformie Azure jako procedury obsługi zdarzeń, wykonaj jedną z następujących metod:

  • Użyj wyzwalacza usługi Event Grid. Określ funkcję platformy Azure jako typ punktu końcowego. Następnie określ aplikację funkcji i funkcję, która będzie obsługiwać zdarzenia.
  • Użyj wyzwalacza HTTP. Określ element Web Hook jako typ punktu końcowego. Następnie określ adres URL funkcji, która będzie obsługiwać zdarzenia.

Zalecamy użycie pierwszego podejścia (wyzwalacza usługi Event Grid), ponieważ ma następujące korzyści w porównaniu z drugim podejściem:

  • Usługa Event Grid automatycznie weryfikuje wyzwalacze usługi Event Grid. W przypadku ogólnych wyzwalaczy HTTP należy samodzielnie zaimplementować odpowiedź na walidację.
  • Usługa Event Grid automatycznie dostosowuje szybkość dostarczania zdarzeń do funkcji wyzwalanej przez zdarzenie usługi Event Grid na podstawie postrzeganej szybkości, z jaką funkcja może przetwarzać zdarzenia. Ta funkcja dopasowania szybkości zapobiega błędom dostarczania, które wynikają z niezdolności funkcji do przetwarzania zdarzeń, ponieważ szybkość przetwarzania zdarzeń funkcji może się różnić w czasie. Aby zwiększyć wydajność przy wysokiej przepływności, włącz przetwarzanie wsadowe w subskrypcji zdarzeń. Aby uzyskać więcej informacji, zobacz Włączanie dzielenia na partie.

Uwaga

  • Po dodaniu subskrypcji zdarzeń przy użyciu funkcji platformy Azure wyzwalacz usługi Event Grid pobiera klucz dostępu dla funkcji docelowej przy użyciu poświadczeń jednostki usługi Event Grid. Uprawnienia są przyznawane usłudze Event Grid podczas rejestrowania dostawcy zasobów usługi Event Grid w ramach subskrypcji platformy Azure.
  • Jeśli chronisz funkcję platformy Azure za pomocą aplikacji Microsoft Entra ID , musisz użyć ogólnego podejścia elementu webhook przy użyciu wyzwalacza HTTP. Użyj punktu końcowego funkcji platformy Azure jako adresu URL elementu webhook podczas dodawania subskrypcji.

Samouczki

Nazwa opis
Szybki start: obsługa zdarzeń za pomocą funkcji Wysyła zdarzenie niestandardowe do funkcji do przetwarzania.
Samouczek: automatyzowanie zmiany rozmiaru przekazanych obrazów przy użyciu usługi Event Grid Użytkownicy przekazują obrazy za pośrednictwem aplikacji internetowej do konta magazynu. Po utworzeniu obiektu blob magazynu usługa Event Grid wysyła zdarzenie do aplikacji funkcji, która zmienia rozmiar przekazanego obrazu.
Samouczek: przesyłanie strumieniowe danych big data do magazynu danych Gdy usługa Event Hubs tworzy plik przechwytywania, usługa Event Grid wysyła zdarzenie do aplikacji funkcji. Aplikacja pobiera plik Capture i migruje dane do magazynu danych.
Samouczek: przykłady integracji usługi Azure Service Bus z usługą Azure Event Grid Usługa Event Grid wysyła komunikaty z tematu usługi Service Bus do aplikacji funkcji i aplikacji logiki.

Przykład REST (dla PUT)

{
	"properties": 
	{
		"destination": 
		{
			"endpointType": "AzureFunction",
			"properties": 
			{
				"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Web/sites/<FUNCTION APP NAME>/functions/<FUNCTION NAME>",
				"maxEventsPerBatch": 10,
				"preferredBatchSizeInKilobytes": 64
			}
		},
		"eventDeliverySchema": "EventGridSchema"
	}
}

Włączanie przetwarzania wsadowego

W przypadku wyższej przepływności włącz dzielenie na partie w ramach subskrypcji. Jeśli używasz witryny Azure Portal, możesz ustawić maksymalną liczbę zdarzeń na partię i preferowany rozmiar partii w kilobajtach podczas tworzenia subskrypcji lub po jej utworzeniu.

Ustawienia usługi Batch można skonfigurować przy użyciu witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia lub szablonu usługi Resource Manager.

Azure Portal

Podczas tworzenia subskrypcji w interfejsie użytkownika na stronie Tworzenie subskrypcji zdarzeń przejdź do karty Funkcje zaawansowane i ustaw wartości maksymalnej liczby zdarzeń na partię i Preferowany rozmiar partii w kilobajtach.

Enable batching at the time of creating a subscription

Możesz zaktualizować te wartości dla istniejącej subskrypcji na karcie Funkcje na stronie Temat usługi Event Grid.

Enable batching after creation

Szablon usługi Azure Resource Manager

W szablonie usługi Azure Resource Manager można ustawić wartości maxEventsPerBatch i preferredBatchSizeInKilobytes . Aby uzyskać więcej informacji, zobacz Microsoft.EventGrid eventSubscriptions template reference (Dokumentacja szablonu usługi Microsoft.EventGrid).

Interfejs wiersza polecenia platformy Azure

Możesz użyć az eventgrid event-subscription create polecenia , aby skonfigurować ustawienia związane z usługą Batch przy użyciu następujących parametrów: --max-events-per-batch lub --preferred-batch-size-in-kilobytes.

Azure PowerShell

Możesz użyć polecenia cmdlet New-AzEventGridSubscription lub Update-AzEventGridSubscription , aby skonfigurować ustawienia związane z usługą Batch przy użyciu następujących parametrów: -MaxEventsPerBatch lub -PreferredBatchSizeInKiloBytes.

Uwaga

W przypadku korzystania z wyzwalacza usługi Event Grid usługa Event Grid pobiera klucz tajny klienta dla docelowej funkcji platformy Azure i używa go do dostarczania zdarzeń do funkcji platformy Azure. Jeśli chronisz funkcję platformy Azure za pomocą aplikacji Microsoft Entra, musisz użyć ogólnego podejścia webhook i użyć wyzwalacza HTTP.

Następne kroki

Zobacz artykuł Procedury obsługi zdarzeń, aby uzyskać listę obsługiwanych programów obsługi zdarzeń.