Koncepty triggerů a vazeb Azure Functions.
V tomto článku se seznámíte s koncepty vysoké úrovně, které obklopují triggery a vazby funkcí.
Triggery způsobují spuštění funkce. Trigger definuje způsob volání funkce a každá funkce musí mít právě jeden trigger. Aktivační události obsahují související data, která se často poskytují jako datová část funkce.
Vazba na funkci je způsob deklarativního připojení jiného prostředku k funkci; vazby mohou být připojeny jako vstupní vazby, výstupní vazby nebo obojí. Data z vazeb má funkce k dispozici jako parametry.
Můžete kombinovat a párovat různé vazby tak, aby odpovídaly vašim potřebám. Vazby jsou volitelné a funkce může mít jednu nebo více vstupních nebo výstupních vazeb.
Triggery a vazby umožňují vyhnout se pevnému kódování přístupu k jiným službám. Vaše funkce přijímá data (například obsah zprávy fronty) v parametrech funkce. Vy posíláte data (například k vytvoření zprávy fronty) pomocí návratové hodnoty funkce.
Podívejte se na následující příklady toho, jak byste mohli implementovat různé funkce.
Ukázkový scénář | Trigger | Vstupní vazba | Výstupní vazba |
---|---|---|---|
Dorazí nová zpráva fronty, která spustí funkci pro zápis do jiné fronty. | Fronta* | Nic | Fronta* |
Naplánovaná úloha čte obsah služby Blob Storage a vytvoří nový dokument služby Azure Cosmos DB. | Časovač | Blob Storage | Azure Cosmos DB |
Event Grid slouží ke čtení obrázku ze služby Blob Storage a dokumentu ze služby Azure Cosmos DB k odeslání e-mailu. | Event Grid | Blob Storage a Azure Cosmos DB | SendGrid |
Webhook, který používá Microsoft Graph k aktualizaci excelového listu | HTTP | Nic | Microsoft Graph |
* Představuje různé fronty.
Tyto příklady nejsou vyčerpávající, ale poskytují se k ilustraci toho, jak můžete použít triggery a vazby společně.
Definice triggerů a vazeb
Triggery a vazby se definují odlišně v závislosti na vývojovém jazyce.
Jazyk | Triggery a vazby se konfigurují pomocí... |
---|---|
Knihovna tříd jazyka C# | dekódování metod a parametrů pomocí atributů jazyka C# |
Java | dekódování metod a parametrů pomocí poznámek Java |
JavaScript,PowerShell/Python/TypeScript | aktualizace function.json (schéma) |
Pro jazyky, které se spoléhají na function.json, poskytuje portál uživatelské rozhraní pro přidávání vazeb na kartě Integrace . Soubor můžete také upravit přímo na portálu na kartě Kód + test funkce. Visual Studio Code umožňuje snadno přidat vazbu do souboru function.json pomocí praktické sady výzev.
V .NET a Javě definuje typ parametru datový typ pro vstupní data. Můžete například vytvořit string
vazbu na text triggeru fronty, bajtové pole, které se má číst jako binární, a vlastní typ pro de-serializaci objektu. Vzhledem k tomu, že funkce knihovny tříd .NET a funkce Java nespoléhají na function.json pro definice vazeb, není možné je vytvářet a upravovat na portálu. Úpravy portálu C# jsou založené na skriptu jazyka C#, který místo atributů používá function.json .
Další informace o tom, jak přidat vazby do existujících funkcí, najdete v tématu Připojení funkcí ke službám Azure pomocí vazeb.
Pro jazyky, které jsou dynamicky typovány, jako je JavaScript, použijte dataType
vlastnost v souboru function.json . Pokud chcete například přečíst obsah požadavku HTTP v binárním formátu, nastavte dataType
na binary
:
{
"dataType": "binary",
"type": "httpTrigger",
"name": "req",
"direction": "in"
}
Další možnosti jsou dataType
stream
a string
.
Směr vazby
Všechny triggery a vazby mají direction
vlastnost v souboru function.json :
- U aktivačních událostí je směr vždy
in
- Vstupní a výstupní vazby se používají
in
aout
- Některé vazby podporují zvláštní směr
inout
. Pokud používáteinout
, je na portálu k dispozici pouze rozšířený editor prostřednictvím karty Integrace .
Pokud používáte atributy v knihovně tříd ke konfiguraci triggerů a vazeb, směr je poskytován v konstruktoru atributů nebo odvozen z typu parametru.
Přidání vazeb do funkce
Funkci můžete připojit k jiným službám pomocí vstupních nebo výstupních vazeb. Přidejte vazbu přidáním jejích konkrétních definic do vaší funkce. Postup najdete v tématu Přidání vazeb do existující funkce v Azure Functions.
Podporované vazby
Tato tabulka ukazuje vazby podporované v hlavních verzích modulu runtime Azure Functions:
Typ | 1,x1 | 2.x a vyšší2 | Trigger | Vstup | Výstup |
---|---|---|---|---|---|
Blob Storage | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Cosmos DB | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Data Explorer | ✔ | ✔ | ✔ | ||
Azure SQL | ✔ | ✔ | ✔ | ✔ | |
Dapr4 | ✔ | ✔ | ✔ | ✔ | |
Event Grid | ✔ | ✔ | ✔ | ✔ | |
Event Hubs | ✔ | ✔ | ✔ | ✔ | |
HTTP a webhooky | ✔ | ✔ | ✔ | ✔ | |
IoT Hub | ✔ | ✔ | ✔ | ||
Kafka3 | ✔ | ✔ | ✔ | ||
Mobile Apps | ✔ | ✔ | ✔ | ||
Notification Hubs | ✔ | ✔ | |||
Queue Storage | ✔ | ✔ | ✔ | ✔ | |
Redis | ✔ | ✔ | |||
RabbitMQ3 | ✔ | ✔ | ✔ | ||
SendGrid | ✔ | ✔ | ✔ | ||
Service Bus | ✔ | ✔ | ✔ | ✔ | |
SignalR | ✔ | ✔ | ✔ | ✔ | |
Table Storage | ✔ | ✔ | ✔ | ✔ | |
Časovač | ✔ | ✔ | ✔ | ||
Twilio | ✔ | ✔ | ✔ |
1. Podpora skončí pro modul runtime Azure Functions verze 1.x 14. září 2026. Důrazně doporučujeme migrovat aplikace na verzi 4.x , abyste měli plnou podporu.
2 Počínaje modulem runtime verze 2.x musí být zaregistrovány všechny vazby s výjimkou http a časovače. Viz Registrace rozšíření vazeb.
3 Triggery nejsou v plánu Consumption podporované. Vyžaduje triggery řízené modulem runtime.
4 Podporováno pouze v režimech Kubernetes, IoT Edge a dalších režimech v místním prostředí.
Informace o tom, které vazby jsou ve verzi Preview nebo jsou schválené pro použití v produkčním prostředí, najdete v tématu Podporované jazyky.
Konkrétní verze rozšíření vazeb se podporují jenom v době, kdy je podporována podkladová sada SDK služby. Změny podpory v základní verzi sady SDK služby ovlivňují podporu pro využívání rozšíření.
Příklady kódu vazeb
V následující tabulce najdete příklady konkrétních typů vazeb, které ukazují, jak pracovat s vazbami ve vašich funkcích. Nejprve zvolte kartu jazyka, která odpovídá vašemu projektu.
Vytvoření vazby kódu pro jazyk C# závisí na konkrétním modelu procesu.
Služba | Příklady | Ukázky |
---|---|---|
Blob Storage | Trigger Vstup Výstup |
Odkaz |
Azure Cosmos DB | Trigger Vstup Výstup |
Odkaz |
Průzkumník dat Azure | Vstup Výstup |
Odkaz |
Azure SQL | Trigger Vstup Výstup |
Odkaz |
Event Grid | Trigger Výstup |
Odkaz |
Event Hubs | Trigger Výstup |
|
IoT Hub | Trigger Výstup |
|
HTTP | Trigger | Odkaz |
Queue Storage | Trigger Výstup |
Odkaz |
RabbitMQ | Trigger Výstup |
|
SendGrid | Výstup | |
Service Bus | Trigger Výstup |
Odkaz |
SignalR | Trigger Vstup Výstup |
|
Table Storage | Vstup Výstup |
|
Časovač | Trigger | Odkaz |
Twilio | Výstup | Odkaz |
Služba | Příklady | Ukázky |
---|---|---|
Blob Storage | Trigger Vstup Výstup |
Odkaz |
Azure Cosmos DB | Trigger Vstup Výstup |
Odkaz |
Průzkumník dat Azure | Vstup Výstup |
Odkaz |
Azure SQL | Trigger Vstup Výstup |
|
Event Grid | Trigger Výstup |
Odkaz |
Event Hubs | Trigger Výstup |
|
IoT Hub | Trigger Výstup |
|
HTTP | Trigger | Odkaz |
Queue Storage | Trigger Výstup |
Odkaz |
RabbitMQ | Trigger Výstup |
|
SendGrid | Výstup | |
Service Bus | Trigger Výstup |
Odkaz |
SignalR | Trigger Vstup Výstup |
|
Table Storage | Vstup Výstup |
|
Časovač | Trigger | Odkaz |
Twilio | Výstup | Odkaz |
Služba | Příklady | Ukázky |
---|---|---|
Blob Storage | Trigger Vstup Výstup |
Odkaz |
Azure Cosmos DB | Trigger Vstup Výstup |
Odkaz |
Průzkumník dat Azure | Vstup Výstup |
|
Azure SQL | Trigger Vstup Výstup |
Odkaz |
Event Grid | Trigger Výstup |
Odkaz |
Event Hubs | Trigger Výstup |
|
IoT Hub | Trigger Výstup |
|
HTTP | Trigger | Odkaz |
Queue Storage | Trigger Výstup |
Odkaz |
RabbitMQ | Trigger Výstup |
|
SendGrid | Výstup | |
Service Bus | Trigger Výstup |
Odkaz |
SignalR | Trigger Vstup Výstup |
|
Table Storage | Vstup Výstup |
|
Časovač | Trigger | Odkaz |
Twilio | Výstup | Odkaz |
Služba | Příklady | Ukázky |
---|---|---|
Blob Storage | Trigger Vstup Výstup |
Odkaz |
Azure Cosmos DB | Trigger Vstup Výstup |
Odkaz |
Azure SQL | Trigger Vstup Výstup |
|
Event Grid | Trigger Výstup |
Odkaz |
Event Hubs | Trigger Výstup |
|
IoT Hub | Trigger Výstup |
|
HTTP | Trigger | Odkaz |
Queue Storage | Trigger Výstup |
Odkaz |
RabbitMQ | Trigger Výstup |
|
SendGrid | Výstup | |
Service Bus | Trigger Výstup |
Odkaz |
SignalR | Trigger Vstup Výstup |
|
Table Storage | Vstup Výstup |
|
Časovač | Trigger | Odkaz |
Twilio | Výstup | Odkaz |
Vytvoření vazby kódu pro Python závisí na verzi modelu Pythonu.
Služba | Příklady | Ukázky |
---|---|---|
Blob Storage | Trigger Vstup Výstup |
Odkaz |
Azure Cosmos DB | Trigger Vstup Výstup |
Odkaz |
Průzkumník dat Azure | Vstup Výstup |
|
Azure SQL | Trigger Vstup Výstup |
Odkaz |
Event Grid | Trigger Výstup |
Odkaz |
Event Hubs | Trigger Výstup |
|
IoT Hub | Trigger Výstup |
|
HTTP | Trigger | Odkaz |
Queue Storage | Trigger Výstup |
Odkaz |
RabbitMQ | Trigger Výstup |
|
SendGrid | Výstup | |
Service Bus | Trigger Výstup |
Odkaz |
SignalR | Trigger Vstup Výstup |
|
Table Storage | Vstup Výstup |
|
Časovač | Trigger | Odkaz |
Twilio | Výstup | Odkaz |
Vlastní vazby
Můžete vytvořit vlastní vstupní a výstupní vazby. Vazby musí být vytvořené v .NET, ale je možné je využívat z libovolného podporovaného jazyka. Další informace o vytváření vlastních vazeb naleznete v tématu Vytváření vlastních vstupních a výstupních vazeb.
Zdroje informací
- Vazbové výrazy a vzory
- Použití návratové hodnoty funkce Azure Functions
- Postup registrace vazbového výrazu
- Testování:
- Zpracování chyb vazby