Použití funkce jako obslužné rutiny události pro události Event Gridu

Obslužná rutina události je místo, kde se událost odesílá. Obslužná rutina provede akci ke zpracování události. Několik služeb Azure je automaticky nakonfigurovaných pro zpracování událostí a Azure Functions je jedním z nich.

Pokud chcete použít funkci v Azure jako obslužnou rutinu pro události, postupujte podle jednoho z těchto přístupů:

  • Použijte trigger Event Gridu. Jako typ koncového bodu zadejte funkci Azure Functions. Pak zadejte aplikaci funkcí a funkci, která bude zpracovávat události.
  • Použijte trigger HTTP. Jako typ koncového bodu zadejte webhook. Pak zadejte adresu URL funkce, která bude zpracovávat události.

Doporučujeme použít první přístup (trigger Event Gridu), protože má oproti druhému přístupu následující výhody:

  • Event Grid automaticky ověřuje triggery Event Gridu. U obecných triggerů HTTP musíte implementovat ověřovací odpověď sami.
  • Event Grid automaticky upraví rychlost doručení událostí do funkce aktivované událostí Event Gridu na základě vnímané rychlosti, s jakou může funkce zpracovávat události. Tato funkce shody rychlosti brání chybám doručení, které vyplývají z neschopnosti funkce zpracovávat události, protože rychlost zpracování událostí funkce se může v průběhu času lišit. Pokud chcete zvýšit efektivitu s vysokou propustností, povolte dávkování odběru událostí. Další informace najdete v tématu Povolení dávkování.

Poznámka:

  • Když aktivujete Event Grid pro přidání odběru událostí pomocí funkce Azure, Event Grid načte přístupový klíč pro cílovou funkci pomocí přihlašovacích údajů instančního objektu služby Event Grid. Tato oprávnění se službě Event Grid udělí při registraci poskytovatele prostředků Event Gridu v jeho předplatném Azure.
  • Pokud chráníte funkci Azure pomocí aplikace Microsoft Entra ID , budete muset použít obecný přístup webhooku pomocí triggeru HTTP. Při přidávání předplatného použijte koncový bod funkce Azure jako adresu URL webhooku.

Kurzy

Titulek Popis
Rychlý start: Zpracování událostí pomocí funkce Odešle vlastní událost funkci ke zpracování.
Kurz: Automatizace změny velikosti nahraných obrázků pomocí Event Gridu Uživatelé nahrávají obrázky prostřednictvím webové aplikace do účtu úložiště. Když se vytvoří objekt blob úložiště, Event Grid odešle událost do aplikace funkcí, která změní velikost nahraného obrázku.
Kurz: Streamování velkých objemů dat do datového skladu Když Event Hubs vytvoří zachytávání souboru, Event Grid odešle událost do aplikace funkcí. Aplikace načte soubor Capture a migruje data do datového skladu.
Kurz: Příklady integrace služby Azure Service Bus do služby Azure Event Grid Event Grid odesílá zprávy z tématu služby Service Bus do aplikace funkcí a aplikace logiky.

Příklad REST (pro 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"
	}
}

Povolení dávkování

Pokud chcete vyšší propustnost, povolte dávkování v předplatném. Pokud používáte Azure Portal, můžete nastavit maximální počet událostí na dávku a upřednostňovanou velikost dávky v kilobajtů v době vytvoření předplatného nebo po vytvoření.

Nastavení dávky můžete nakonfigurovat pomocí webu Azure Portal, PowerShellu, rozhraní příkazového řádku nebo šablony Resource Manageru.

portál Azure

V okamžiku vytvoření odběru v uživatelském rozhraní na stránce Vytvořit odběr události přepněte na kartu Rozšířené funkce a nastavte hodnoty pro maximální počet událostí na dávku a upřednostňovanou velikost dávky v kilobajtech.

Enable batching at the time of creating a subscription

Tyto hodnoty pro stávající předplatné můžete aktualizovat na kartě Funkce na stránce Téma event gridu.

Enable batching after creation

Šablona Azure Resource Manageru

V šabloně Azure Resource Manageru můžete nastavit maxEventsPerBatch a preferredBatchSizeInKilobytes . Další informace naleznete v tématu Microsoft.EventGrid eventSubscriptions šablony reference.

Azure CLI

Pomocí az eventgrid event-subscription create příkazu můžete nakonfigurovat nastavení související s dávkou pomocí následujících parametrů: --max-events-per-batch nebo --preferred-batch-size-in-kilobytes.

Azure PowerShell

Pomocí rutiny New-AzEventGridSubscription nebo Update-AzEventGridSubscription můžete nakonfigurovat nastavení související s dávkou pomocí následujících parametrů: -MaxEventsPerBatch nebo -PreferredBatchSizeInKiloBytes.

Poznámka:

Když použijete trigger Event Gridu, služba Event Grid načte tajný klíč klienta pro cílovou funkci Azure a použije ho k doručování událostí do funkce Azure. Pokud chráníte funkci Azure pomocí aplikace Microsoft Entra, musíte použít obecný přístup k webhooku a použít trigger HTTP.

Další kroky

Seznam podporovaných obslužných rutin událostí najdete v článku Obslužné rutiny událostí.