Koncepty triggerů a vazeb Azure Functions.
V tomto článku se seznámíte s koncepty a možnostmi triggerů funkcí a vazeb na nejvyšší úrovni.
Aktivační události jsou tím, co způsobí spuštění funkce. Aktivační událost definuje způsob volání funkce a funkce musí mít právě jednu aktivační událost. 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 ke funkci; vazby mohou být propojeny 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 zakódujeme 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.
Vezměte v úvahu následující příklady, jak můžete implementovat různé funkce.
| Ukázkový scénář | Trigger | Vstupní vazba | Výstupní vazba |
|---|---|---|---|
| Dojde k doručení nové zprávy fronty, která spustí funkci pro zápis do jiné fronty. | Provedených* | Žádný | Provedených* |
| Naplánovaná úloha načte Blob Storage obsah a vytvoří nový dokument Cosmos DB. | Časovač | Blob Storage | Cosmos DB |
| Event Grid slouží ke čtení obrázku z Blob Storage a dokumentu z Cosmos DB k odeslání e-mailu. | Event Grid | Blob Storage a Cosmos DB | SendGrid |
| Webhook, který používá Microsoft Graph k aktualizaci excelového listu. | HTTP | Žádný | Microsoft Graph |
* Představuje různé fronty.
Tyto příklady nejsou určeny k vyčerpávajícímu, ale jsou k dispozici pro ilustraci, jak můžete použít triggery a vazby dohromady.
Triggery a definice vazeb
Triggery a vazby jsou definovány různě v závislosti na vývojovém jazyce.
| Jazyk | Aktivační události a vazby jsou konfigurovány pomocí... |
|---|---|
| Knihovna tříd C# | upravení metody a parametry s atributy jazyka C# |
| Java | upravení metody a parametry s poznámkami jazyka Java |
| JavaScript/PowerShell/Python/TypeScript | aktualizace function.jszapnuta (schéma) |
Pro jazyky, které spoléhají na function.jsna portálu, 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ě Code + test funkce. Visual Studio Code umožňuje snadno Přidat vazbu na function.jssouboru pomocí praktické sady výzev.
V jazycích .NET a Java typ parametru definuje datový typ pro vstupní data. Například použijte string k vytvoření vazby na text triggeru fronty, bajtové pole pro čtení jako binární a vlastní typ pro deserializaci objektu. Vzhledem k tomu, že funkce knihovny tříd .NET functions a funkce jazyka Java nespoléhají na function.js pro definice vazeb, nelze je vytvořit a upravit na portálu. Úpravy portálu jazyka c# jsou založeny na skriptu jazyka C#, který místo atributů používá function.js .
Další informace o tom, jak přidat vazby k existujícím funkcím, najdete v tématu připojení funkcí ke službám Azure pomocí vazeb.
Pro jazyky, které jsou dynamicky typované, jako je například JavaScript, použijte dataType vlastnost v souboru function.js . Například pro čtení obsahu požadavku HTTP v binárním formátu nastavte dataType na binary :
{
"dataType": "binary",
"type": "httpTrigger",
"name": "req",
"direction": "in"
}
Další možnosti pro dataType jsou stream a string .
Směr vazby
Všechny aktivační události a vazby mají direction v souboru function.js k dispozici vlastnost:
- Pro aktivační události je směr vždy
in - Vstupní a výstupní vazby používají
inaout - Některé vazby podporují zvláštní směr
inout. Pokud použijeteinout, je k dispozici pouze Rozšířený editor prostřednictvím karty integrace na portálu.
Použijete-li atributy v knihovně tříd ke konfiguraci triggerů a vazeb, je směr poskytován v konstruktoru atributu 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 jejich specifických definic do funkce. Další informace najdete v tématu Přidání vazeb do existující funkce v Azure Functions.
Podporované vazby
Tato tabulka ukazuje vazby, které jsou podporovány v hlavních verzích modulu runtime Azure Functions:
| Typ | verze | 2. x a vyšší1 | Trigger | Vstup | Výstup |
|---|---|---|---|---|---|
| Blob Storage | ✔ | ✔ | ✔ | ✔ | ✔ |
| Azure Cosmos DB | ✔ | ✔ | ✔ | ✔ | ✔ |
| SQL Azure (preview) | ✔ | ✔ | ✔ | ||
| Dapr3 | ✔ | ✔ | ✔ | ✔ | |
| Event Grid | ✔ | ✔ | ✔ | ✔ | |
| Event Hubs | ✔ | ✔ | ✔ | ✔ | |
| HTTP & Webhooky | ✔ | ✔ | ✔ | ✔ | |
| IoT Hub | ✔ | ✔ | ✔ | ✔ | |
| Kafka2 | ✔ | ✔ | ✔ | ||
| Mobile Apps | ✔ | ✔ | ✔ | ||
| Notification Hubs | ✔ | ✔ | |||
| Queue Storage | ✔ | ✔ | ✔ | ✔ | |
| RabbitMQ2 | ✔ | ✔ | ✔ | ||
| SendGrid | ✔ | ✔ | ✔ | ||
| Service Bus | ✔ | ✔ | ✔ | ✔ | |
| SignalR | ✔ | ✔ | ✔ | ||
| Table Storage | ✔ | ✔ | ✔ | ✔ | |
| Časovač | ✔ | ✔ | ✔ | ||
| Twilio | ✔ | ✔ | ✔ |
1 počínaje modulem runtime verze 2. x musí být registrovány všechny vazby kromě protokolu HTTP a časovače. Viz Registrace rozšíření vazby.
2 triggery nejsou podporované v plánu spotřeby. Vyžaduje triggery řízené modulem runtime.
3 podporuje se jenom v Kubernetes, IoT Edge a dalších režimech v místním prostředí.
Informace o tom, které vazby jsou ve verzi Preview nebo které jsou schválené pro použití v produkčním prostředí, najdete v tématu podporované jazyky.
Příklady kódu vazeb
Pomocí následující tabulky můžete najít příklady specifických typů vazeb, které ukazují, jak pracovat s vazbami ve vašich funkcích. Nejprve vyberte kartu jazyk, která odpovídá vašemu projektu.
| Služba | Příklady | ukázky |
|---|---|---|
| Blob Storage | Trigger Vstup Výstup |
Odkaz |
| Azure Cosmos DB | 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řeny v rozhraní .NET, ale lze je spotřebovat 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í
- Výrazy a vzory vazby
- Použití návratové hodnoty funkce Azure Functions
- Postup registrace výrazu vazby
- Zkouší
- Zpracování chyb vazeb