Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ve Azure Functions všechny funkce sdílejí některé základní technické koncepty a komponenty bez ohledu na preferovaný jazyk nebo vývojové prostředí. Tento článek je specifický pro jazyk. V horní části článku zvolte preferovaný jazyk.
Tento článek předpokládá, že už jste si přečetli přehled Azure Functions.
Pokud chcete rovnou začít, můžete absolvovat rychlý úvodní kurz pomocí Visual Studio, Visual Studio Code nebo z příkazové výzvy.
Pokud chcete rovnou začít, můžete absolvovat rychlý úvodní kurz pomocí Maven (příkazový řádek), Eclipse, IntelliJ IDEA, Gradle, Quarkus, Spring Cloud, nebo Visual Studio Code.
Pokud chcete rovnou začít, můžete absolvovat rychlý úvodní kurz pomocí Visual Studio Code nebo z příkazové výzvy.
Pokud chcete rovnou začít, můžete absolvovat rychlý úvodní kurz pomocí Visual Studio Code nebo z příkazové výzvy.
Pokud chcete rovnou začít, můžete absolvovat rychlý úvodní kurz pomocí Visual Studio Code nebo z příkazové výzvy.
Pokud chcete rovnou začít, můžete absolvovat rychlý úvodní kurz pomocí Visual Studio Code nebo z příkazové výzvy.
Projekt kódu
Jádrem Azure Functions je projekt kódu specifický pro jazyk, který implementuje jednu nebo více jednotek provádění kódu, které se nazývají functions. Funkce jsou jednoduše metody, které běží v cloudu Azure na základě událostí, v reakci na požadavky HTTP nebo podle plánu. Projekt kódu Azure Functions si můžete představit jako mechanismus pro uspořádání, nasazování a souhrnnou správu jednotlivých funkcí v projektu, když běží v Azure. Další informace najdete v tématu Uspořádání funkcí.
Způsob, jakým rozložíte projekt kódu a jak určíte, které metody v projektu jsou funkcemi, závisí na vývojovém jazyce projektu. Podrobné pokyny pro konkrétní jazyk najdete v příručce pro vývojáře v jazyce C#.
Způsob, jakým rozložíte projekt kódu a jak určíte, které metody v projektu jsou funkcemi, závisí na vývojovém jazyce projektu. Pokyny pro konkrétní jazyk najdete v příručce pro vývojáře Java.
Způsob, jakým rozložíte projekt kódu a jak určíte, které metody v projektu jsou funkcemi, závisí na vývojovém jazyce projektu. Pokyny pro konkrétní jazyk najdete v průvodci Node.js vývojáři.
Způsob, jakým rozložíte projekt kódu a jak určíte, které metody v projektu jsou funkcemi, závisí na vývojovém jazyce projektu. Pokyny pro konkrétní jazyk najdete v příručce pro vývojáře PowerShellu.
Způsob, jakým rozložíte projekt kódu a jak určíte, které metody v projektu jsou funkcemi, závisí na vývojovém jazyce projektu. Pokyny pro konkrétní jazyk najdete v příručce pro vývojáře Python.
Všechny funkce musí mít aktivační událost, která definuje, jak se funkce spustí, a může funkci poskytnout vstup. Funkce můžou volitelně definovat vstupní a výstupní vazby. Tyto vazby zjednodušují připojení k jiným službám, aniž byste museli pracovat s klientskými sadami SDK. Další informace najdete v tématu Azure Functions koncepty triggerů a vazeb.
Azure Functions poskytuje sadu šablon projektů a funkcí specifických pro jazyk, které usnadňují vytváření nových projektů kódu a přidávání funkcí do projektu. K vygenerování nových aplikací a funkcí pomocí těchto šablon můžete použít kterýkoli z nástrojů, které podporují vývoj Azure Functions.
Vývojářské nástroje
Následující nástroje poskytují integrované prostředí pro vývoj a publikování pro Azure Functions ve vašem upřednostňovaném jazyce:
Azure Functions Core Tools (příkazový řádek)
Tyto nástroje se integrují s nástroji Azure Functions Core Tools, abyste mohli spouštět a ladit na místním počítači pomocí modulu runtime služby Functions. Další informace najdete v tématu Code a místní testování Azure Functions.
Na portálu Azure je také editor, který umožňuje aktualizovat kód a definiční soubor function.json přímo na portálu. Tento editor byste měli použít pouze pro malé změny nebo vytváření funkcí pro testování konceptu. Pokud je to možné, měli byste vždy vyvíjet funkce místně. Další informace najdete v tématu Vytvoření první funkce na portálu Azure.
Úpravy portálu se podporují jenom pro Node.js verze 3, která používá soubor function.json.
Nasazení
Při publikování projektu kódu do Azure v podstatě nasazujete projekt do existujícího prostředku aplikace funkcí. Aplikace funkcí poskytuje kontext spuštění v Azure, ve kterém vaše funkce běží. Proto se jedná o jednotku nasazení a správy vašich funkcí. Z pohledu Azure Prostředek je aplikace funkcí ekvivalentní prostředku webu (Microsoft.Web/sites) v Azure App Service, což odpovídá webové aplikaci.
Aplikace funkcí se skládá z jedné nebo několika samostatných funkcí, které se spravují, nasazují a škálují společně. Všechny funkce v aplikaci funkcí sdílejí stejný cenový plán, metodu nasazení a verzi modulu runtime. Další informace najdete v tématu Správa aplikace funkcí.
Pokud aplikace funkcí a všechny další požadované prostředky v Azure ještě neexistují, musíte tyto prostředky nejprve vytvořit, abyste mohli nasadit soubory projektu. Tyto prostředky můžete vytvořit jedním z těchto způsobů:
- Publikování Visual Studio
Použití Visual Studio Code
Programově pomocí Azure CLI, Azure PowerShell, šablonARM nebo Bicep souborů
Na portálu Azure
Kromě publikování založeného na nástrojích podporuje Functions další technologie pro nasazení zdrojového kódu do existující aplikace funkcí. Další informace najdete v tématu Odployment technologie v Azure Functions.
Připojení ke službám
Hlavním požadavkem jakékoli cloudové výpočetní služby je čtení dat z jiných cloudových služeb a zápis dat do jiných cloudových služeb. Funkce poskytují rozsáhlou sadu vazeb, které usnadňují připojení ke službám bez nutnosti pracovat s klientskými sadami SDK.
Bez ohledu na to, jestli používáte rozšíření vazeb poskytovaná functions nebo pracujete přímo se sadami SDK klienta, bezpečně ukládáte data připojení a nezahrnujte je do kódu. Další informace najdete v tématu Připojení.
Vazby
Functions poskytuje vazby pro mnoho služeb Azure a několik služeb třetích stran, které jsou implementované jako rozšíření. Další informace najdete v úplném seznamu podporovaných vazeb.
Rozšíření vazeb můžou podporovat vstupy i výstupy a mnoho triggerů také funguje jako vstupní vazby. Vazby umožňují nakonfigurovat připojení ke službám, aby hostitel služby Functions mohl zpracovávat přístup k datům za vás. Další informace najdete v tématu Azure Functions koncepty triggerů a vazeb.
Pokud máte problémy s chybami pocházejícími z vazeb, přečtěte si dokumentaci k Azure Functions kódy chyb vazby.
Klientské sady SDK
Zatímco Functions poskytuje vazby pro zjednodušení přístupu k datům v kódu funkce, stále můžete v projektu použít klientskou sadu SDK pro přímý přístup k dané službě, pokud chcete. Klientské sady SDK možná budete muset používat přímo v případě, že vaše funkce vyžadují funkci podkladové sady SDK, která není podporována rozšířením vazby.
Při použití klientských sad SDK byste měli použít stejný postup pro ukládání a přístup k připojovací řetězec používanými rozšířeními vazeb.
Když ve svých funkcích vytvoříte instanci klientské sady SDK, měli byste získat informace o připojení vyžadované klientem z proměnných prostředí.
Když ve svých funkcích vytvoříte instanci klientské sady SDK, měli byste získat informace o připojení vyžadované klientem z proměnných prostředí.
Když ve svých funkcích vytvoříte instanci klientské sady SDK, měli byste získat informace o připojení vyžadované klientem z proměnných prostředí.
Když ve svých funkcích vytvoříte instanci klientské sady SDK, měli byste získat informace o připojení vyžadované klientem z proměnných prostředí.
Když ve svých funkcích vytvoříte instanci klientské sady SDK, měli byste získat informace o připojení vyžadované klientem z proměnných prostředí.
Propojení
Osvědčeným postupem zabezpečení je, že Azure Functions využívá funkce nastavení aplikace Azure App Service, které vám pomůžou bezpečně ukládat řetězce, klíče a další tokeny potřebné pro připojení k jiným službám. Nastavení aplikace v Azure jsou uložena zašifrovaná a aplikace je může za běhu přistupovat jako proměnná prostředí namevalue páry. U triggerů a vazeb, které vyžadují vlastnost připojení, nastavíte název nastavení aplikace místo skutečného connection string. Vazbu nemůžete nakonfigurovat přímo pomocí connection string nebo klíče.
Představte si například definici triggeru connection , která má vlastnost. Místo connection string nastavíte connection na název proměnné prostředí, která obsahuje connection string. Díky této strategii přístupu k tajným kódům jsou vaše aplikace bezpečnější a usnadní vám změny připojení v různých prostředích. Pro ještě větší zabezpečení můžete použít připojení založená na identitách.
Výchozí zprostředkovatel konfigurace používá proměnné prostředí. Tyto proměnné se definují v nastavení aplikace při spuštění v Azure a v souboru nastavení local settings při místním vývoji.
Hodnoty připojení
Když se název připojení přeloží na jednu přesnou hodnotu, modul runtime identifikuje hodnotu jako connection string, která obvykle obsahuje tajný kód. Podrobnosti o connection string závisí na službě, ke které se připojujete.
Název připojení ale může také odkazovat na kolekci více položek konfigurace, které jsou užitečné pro konfiguraci připojení založených na identitě. Proměnné prostředí lze považovat za kolekci pomocí sdílené předpony __, která končí dvojitým podtržítkem . Na skupinu pak můžete odkazovat nastavením názvu připojení na tuto předponu.
Například vlastnost connection pro definici triggeru objektu blob Azure může být Storage1. Pokud není žádná hodnota řetězce nastavena pomocí proměnné prostředí pojmenované Storage1, proměnná prostředí pojmenovaná Storage1__blobServiceUri může být použita k informování vlastnosti připojení blobServiceUri. Vlastnosti připojení se pro každou službu liší. Projděte si dokumentaci ke komponentě, která připojení používá.
Poznámka:
Při použití Azure App Configuration nebo Key Vault k poskytnutí nastavení pro připojení spravované identity by názvy nastavení měly používat platný oddělovač klíčů, například : nebo / místo __, aby se názvy správně přeložily.
Například: Storage1:blobServiceUri.
Konfigurace připojení založeného na identitě
Některá připojení v Azure Functions je možné nakonfigurovat tak, aby používala identitu místo tajného klíče. Podpora závisí na verzi modulu runtime a rozšíření pomocí připojení. V některých případech může být ve službě Functions stále potřeba connection string, i když služba, ke které se připojujete, podporuje připojení založená na identitě. Kurz konfigurace aplikací funkcí se spravovanými identitami najdete v kurzu vytvoření aplikace funkcí s připojeními založenými na identitách.
Poznámka:
Při spuštění v plánu Consumption nebo Elastic Premium používá vaše aplikace nastavení WEBSITE_AZUREFILESCONNECTIONSTRING a WEBSITE_CONTENTSHARE při připojování k Azure Files v účtu úložiště používaném vaší aplikací funkcí. Azure Files nepodporuje použití spravované identity při přístupu ke sdílené složce. Další informace najdete v tématu Azure Files podporované scénáře ověřování
Připojení založená na identitě jsou podporována pouze ve službě Functions 4.x, pokud používáte verzi 1.x, musíte nejprve migrovat na verzi 4.x.
Následující komponenty podporují připojení založená na identitách:
Při hostování ve službě Azure Functions používají připojení založená na identitách managed identity. Identita přiřazená systémem se používá ve výchozím nastavení, ale je možné určit uživatelskou identitu pomocí vlastností credential a clientID. Všimněte si, že konfigurace identity přiřazené uživatelem s ID prostředku se nepodporuje . Při spuštění v jiných kontextech, jako je místní vývoj, se místo toho použije vaše identita vývojáře, i když je možné ji přizpůsobit. Viz také Místní vývoj s připojeními podle identit.
Udělení oprávnění identitě
Jakákoli identita, kterou používáte, musí mít oprávnění k provedení zamýšlených akcí. U většiny Azure služeb to znamená, že potřebujete assignovat roli v Azure RBAC pomocí předdefinovaných nebo vlastních rolí, které tato oprávnění poskytují.
Důležité
Cílová služba může zpřístupnit některá oprávnění, která nejsou nutná pro všechny kontexty. Pokud je to možné, dodržujte zásadu nejnižšího oprávnění a udělte identitě pouze požadovaná oprávnění. Pokud například aplikace potřebuje jen číst ze zdroje dat, použijte roli, která má oprávnění jen ke čtení. Přiřazení role, která také umožňuje zápis do této služby, by bylo nevhodné, protože by to bylo nadměrné oprávnění pro operaci čtení. Podobně byste chtěli zajistit, aby přiřazení role bylo vymezeno pouze nad prostředky, které je potřeba číst.
Zvolte jednu z těchto karet a seznamte se s oprávněními pro každou komponentu:
- rozšíření objektů blob Azure
- rozšíření front Azure
- rozšíření tabulky Azure
- Rozšíření Event Hubs
- rozšíření Service Bus
- Rozšíření Event Gridu
- rozšíření Azure Cosmos DB
- Azure rozšíření SignalR
- rozšíření Azure Web PubSub
- Durable Functions poskytovatele úložiště
- Úložiště hostitelů služby Functions
Musíte vytvořit přiřazení role, které poskytuje přístup k kontejneru objektů blob za běhu. Manažerské role jako vlastník nejsou dostatečné. Následující tabulka uvádí předdefinované role, které se doporučují při použití rozšíření Blob Storage v normálním provozu. Vaše aplikace může vyžadovat další oprávnění na základě kódu, který napíšete.
| Typ vazby | Příklad předdefinovaných rolí |
|---|---|
| Spouštěč |
Vlastníkdat objektů blob služby Storage aPřispěvateldat fronty úložiště 1 Navíc musí být udělena také připojení AzureWebJobsStorage.2 |
| Vstupní vazba | Čtenář dat služby Blob Storage |
| Výstupní vazba | Vlastník dat služby Storage Blob |
1 Trigger objektu blob zpracovává selhání napříč několika opakováními tím, že zapíše otrávené objekty blob do fronty v účtu úložiště určeném připojením.
2 Připojení AzureWebJobsStorage se používá interně pro objekty blob a fronty, které aktivují trigger. Pokud je nakonfigurované tak, aby používalo připojení založené na identitě, potřebuje další oprávnění nad rámec výchozího požadavku. Požadovaná oprávnění jsou pokryta rolemi Vlastník dat objektů blob služby Storage, Přispěvatel dat fronty úložiště a Přispěvatel účtů úložiště. Další informace najdete v tématu Připojení k hostitelskému úložišti pomocí identity.
Běžné vlastnosti pro připojení založená na identitě
Připojení založené na identitě pro službu Azure přijímá následující společné vlastnosti, kde <CONNECTION_NAME_PREFIX> je hodnota vlastnosti connection v definici triggeru nebo vazby:
| Vlastnost | Šablona proměnné prostředí | Popis |
|---|---|---|
| Přihlašovací údaje tokenu | <CONNECTION_NAME_PREFIX>__credential |
Tato vlastnost určuje způsob získání tokenu pro připojení. Vlastnost by ve scénářích lokálního vývoje neměla být nastavena. Pokud chcete použít ověřování spravované identity, nastavte tuto vlastnost na managedidentity. Pokud se chcete připojit k prostředku v jiném tenantovi, místo toho použijte managedidentityasfederatedidentity. |
| ID klienta | <CONNECTION_NAME_PREFIX>__clientId |
Pokud credential je nastavena managedidentityna hodnotu , lze tuto vlastnost nastavit tak, aby určila identitu přiřazenou uživatelem, která se má použít při získávání tokenu. Vlastnost přijímá ID klienta odpovídající identitě přiřazené uživatelem přiřazené aplikaci. Není platné zadat ID prostředku i ID klienta. Pokud není zadána žádná, použije se identita přiřazená systémem.Tato vlastnost se ve scénářích mezi tenanty používá odlišně. Prohlédněte si část Scénáře napříč tenanty. Tato vlastnost se v místních vývojových scénářích používá odlišně, pokud credential by neměla být nastavena. |
| ID zdroje | <CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Pokud credential je nastavena managedidentityna hodnotu , lze tuto vlastnost nastavit tak, aby určila identitu přiřazenou uživatelem, která se má použít při získávání tokenu. Vlastnost přijímá identifikátor prostředku odpovídající uživatelské identitě přiřazené aplikaci. Není platné zadat ID prostředku i ID klienta. Pokud není zadána žádná, použije se identita přiřazená systémem. |
U daného typu připojení mohou být podporovány další možnosti. Projděte si dokumentaci k komponentě, která vytváří připojení.
proměnné prostředí Azure SDK
Upozornění
Použití proměnných prostředí Azure SDK EnvironmentCredential se nedoporučuje kvůli potenciálně neúmyslnému dopadu na jiná připojení. Nejsou také plně podporovány při nasazení do Azure Functions.
Proměnné prostředí přidružené k EnvironmentCredential Azure SDK je také možné nastavit, ale služba Functions je nezpracovává pro škálování v plánech Consumption. Tyto proměnné prostředí nejsou specifické pro žádné jedno připojení a použijí se jako výchozí, pokud pro dané připojení není nastavena odpovídající vlastnost. Pokud AZURE_CLIENT_ID je například nastaveno, použije se to, jako by <CONNECTION_NAME_PREFIX>__clientId bylo nakonfigurováno. Explicitní nastavení by toto výchozí nastavení <CONNECTION_NAME_PREFIX>__clientId přepsalo.
Místní vývoj s využitím připojení založených na identitách
Poznámka:
Místní vývoj s připojeními založenými na identitách vyžaduje verzi 4.0.3904Azure Functions Core Tools nebo novější verzi.
Při místním spuštění projektu funkce vám výše uvedená konfigurace řekne modulu runtime, aby používal vaši místní identitu vývojáře. Připojení se pokusí získat token z následujících umístění v pořadí:
- Místní mezipaměť sdílená mezi aplikacemi Microsoftu
- Kontext aktuálního uživatele v Visual Studio
- Kontext aktuálního uživatele v Visual Studio Code
- Kontext aktuálního uživatele v Azure CLI
Pokud žádná z těchto možností není úspěšná, dojde k chybě.
Vaše identita už může mít určitá přiřazení rolí k prostředkům Azure používaným pro vývoj, ale tyto role nemusí poskytovat potřebný přístup k datům. Manažerské role jako vlastník nejsou dostatečné. Pečlivě zkontrolujte, jaká oprávnění jsou potřebná pro připojení pro každou komponentu, a ujistěte se, že jste je přiřadili sami sobě.
V některých případech můžete chtít zadat použití jiné identity. Můžete přidat vlastnosti konfigurace pro připojení, které odkazují na alternativní identitu na základě ID klienta a tajného klíče klienta pro Microsoft Entra instanční objekt. Tato možnost konfigurace není podporována při hostování ve službě Azure Functions. Pokud chcete na místním počítači použít ID a tajný klíč, definujte připojení s následujícími dodatečnými vlastnostmi:
| Vlastnost | Šablona proměnné prostředí | Popis |
|---|---|---|
| ID tenanta | <CONNECTION_NAME_PREFIX>__tenantId |
ID tenanta (adresáře) Microsoft Entra. |
| ID klienta | <CONNECTION_NAME_PREFIX>__clientId |
ID klienta (aplikace) registrace aplikace v tenantovi. |
| Tajný klíč klienta | <CONNECTION_NAME_PREFIX>__clientSecret |
Tajný klíč klienta vygenerovaný pro registraci aplikace. |
Tady je příklad vlastností local.settings.json vyžadovaných pro připojení založené na identitě k objektům blob Azure:
{
"IsEncrypted": false,
"Values": {
"<CONNECTION_NAME_PREFIX>__blobServiceUri": "<blobServiceUri>",
"<CONNECTION_NAME_PREFIX>__queueServiceUri": "<queueServiceUri>",
"<CONNECTION_NAME_PREFIX>__tenantId": "<tenantId>",
"<CONNECTION_NAME_PREFIX>__clientId": "<clientId>",
"<CONNECTION_NAME_PREFIX>__clientSecret": "<clientSecret>"
}
}
Připojení k hostitelskému úložišti pomocí identity
Hostitel Azure Functions používá připojení k úložišti nastavené v AzureWebJobsStorage k povolení základního chování, jako je koordinace jednotonového spouštění triggerů časovače a výchozího úložiště klíčů aplikace. Toto připojení lze také nakonfigurovat tak, aby používalo identitu.
Upozornění
Ostatní komponenty ve službě Functions se spoléhají na AzureWebJobsStorage výchozí chování. Pokud používáte starší verze rozšíření, které nepodporují tento typ připojení, včetně triggerů a vazeb pro objekty blob Azure, Event Hubs a Durable Functions, neměli byste ho přesunout do připojení založeného na identitě.
AzureWebJobsStorage Podobně se používá pro artefakty nasazení při použití sestavení na straně serveru ve spotřebě Linuxu a pokud to povolíte, budete muset nasadit prostřednictvím externího balíčku pro nasazení.
Vaše aplikace funkcí navíc může opakovaně používat AzureWebJobsStorage jiná připojení k úložišti ve svých triggerech, vazbách a kódu funkce. Před změnou tohoto připojení z connection string se ujistěte, že všechna použití AzureWebJobsStorage mohou používat formát připojení založený na identitě.
Pokud chcete použít připojení založené na identitě, AzureWebJobsStoragenakonfigurujte následující nastavení aplikace:
| Nastavení | Popis | Příklad hodnoty |
|---|---|---|
AzureWebJobsStorage__blobServiceUri |
Identifikátor URI roviny dat služby blob účtu úložiště pomocí schématu HTTPS. | <https://storage_account_name.blob.core.windows.net> |
AzureWebJobsStorage__queueServiceUri |
Identifikátor URI roviny dat služby fronty účtu úložiště pomocí schématu HTTPS. | <https://storage_account_name.queue.core.windows.net> |
AzureWebJobsStorage__tableServiceUri |
Identifikátor URI roviny dat tabulkové služby účtu úložiště pomocí schématu HTTPS. | <https:// storage_account_name.table.core.windows.net> |
Je také možné nastavit běžné vlastnosti pro připojení založená na identitách.
Pokud konfigurujete AzureWebJobsStorage pomocí účtu úložiště, který používá výchozí příponu DNS a název služby pro globální Azure, za formátem https://<accountName>.[blob|queue|file|table].core.windows.net můžete místo toho nastavit AzureWebJobsStorage__accountName na název účtu úložiště. Koncové body pro každou službu úložiště se odvozují pro tento účet. To nefunguje, když je účet úložiště v suverénním cloudu nebo má vlastní DNS.
| Nastavení | Popis | Příklad hodnoty |
|---|---|---|
AzureWebJobsStorage__accountName |
Název účtu úložiště, platný jenom v případě, že účet není v suverénním cloudu a nemá vlastní DNS. Tato syntaxe je jedinečná pro AzureWebJobsStorage a nelze ji použít pro jiná připojení založená na identitách. |
<název_úložiště> |
Musíte vytvořit přiřazení role, které poskytuje přístup k účtu úložiště pro AzureWebJobsStorage za běhu. Manažerské role jako vlastník nejsou dostatečné. Role Vlastník dat objektů blob služby Storage pokrývá základní potřeby úložiště hostitele služby Functions – modul runtime potřebuje přístup ke čtení i zápisu k objektům blob a možnost vytvářet kontejnery. Toto připojení používá několik rozšíření jako výchozí umístění pro objekty blob, fronty a tabulky a tato použití mohou přidávat požadavky, jak je uvedeno v následující tabulce. Pokud pro jakékoli jiné účely použijete AzureWebJobsStorage, budete možná potřebovat i další oprávnění.
| Rozšíření | Požadované role | Vysvětlení |
|---|---|---|
| Žádné rozšíření (jenom hostitel) | Vlastník dat služby Storage Blob | Funkce používá úložiště objektů blob k obecné koordinaci a jako výchozí úložiště klíčů. Tento scénář představuje minimální sadu oprávnění pro normální provoz, ale nezahrnuje podporu diagnostických událostí1. |
| No extension (host only), with support for diagnostic events1 Žádné rozšíření (pouze hostitel) s podporou diagnostických událostí1 |
Vlastník dat objektů blob služby Storage Přispěvatel dat tabulky úložiště |
Diagnostické události se uchovávají v úložišti tabulek pomocí připojení AzureWebJobsStorage. |
| Azure objekty blob (pouze trigger) | Všechny položky z: Přispěvatel účtu úložiště, Vlastník dat objektů blob služby Storage Přispěvatel dat fronty služby Storage |
Trigger objektu blob interně používá fronty Azure a zapisuje blob účtenky. Pro tyto účely používá připojení AzureWebJobsStorage bez ohledu na připojení nakonfigurované pro trigger. |
| Azure Event Hubs (jenom trigger) | (žádná změna z výchozího požadavku) Vlastník dat služby Storage Blob |
Kontrolní body se uchovávají v objektech blob pomocí připojení AzureWebJobsStorage. |
| Trigger časovače | (žádná změna z výchozího požadavku) Vlastník dat služby Storage Blob |
Aby se zajistilo jedno spuštění na událost, zamykají se s objekty blob pomocí připojení AzureWebJobsStorage. |
| Durable Functions | Všechny položky z: Přispěvatel dat objektů blob služby Storage Přispěvatel dat fronty služby Storage Přispěvatel dat tabulky úložiště |
Durable Functions používá objekty blob, fronty a tabulky ke koordinaci funkcí aktivit a udržování stavu orchestrace. Ve výchozím nastavení používá připojení AzureWebJobsStorage, ale v konfiguraci rozšíření Durable Functions můžete zadat jiné připojení. |
1 U některých typů problémů může Azure Functions vyvolat diagnostickou událost, která může pomoct s řešením potíží, i když problém brání spuštění aplikace funkcí. Pokud přispěvatel dat tabulky úložiště není přiřazený, může se v protokolech zobrazit upozornění týkající se nemožnosti zapsat tyto události.
Připojení k prostředku v jiném tenantovi
Pokud se vaše funkce potřebuje připojit k prostředku v jiném tenantovi Microsoft Entra, připojení musí používat přihlašovací údaje federované identity. To vyžaduje spravovanou identitu přiřazenou uživatelem a registraci aplikace Entra ID s více tenanty. Spravovanou identitu přiřazenou systémem nelze použít pro připojení mezi tenanty.
Důležité
Když nakonfigurujete trigger pro připojení mezi tenanty v typech plánů Consumption nebo Flex Consumption, platforma už nebude škálovat aplikaci funkcí na základě tohoto triggeru.
Pokud chcete nakonfigurovat připojení založené na identitách mezi tenanty, musíte nejprve nastavit infrastrukturu pomocí následujícího postupu:
- V tenantovi, ve kterém je vaše aplikace funkcí nasazená, vytvořte novou uživatelem přiřazenou spravovanou identitu.
- Přiřaďte danou identitu k aplikaci funkcí.
- Ve stejném tenantovi vytvořte registraci víceklientských aplikací Entra , která představuje prostředek mezi tenanty, ke kterému chcete získat přístup.
- Přidejte spravovanou identitu jako přihlašovací údaje federované identity pro registraci aplikace.
- V tenantovi, ve kterém je prostředek nasazený, vytvořte podnikovou aplikaci pro registraci aplikace.
- Přiřaďte oprávnění pro podnikovou aplikaci pro přístup k prostředku.
Připojení založené na identitách mezi tenanty používá následující vlastnosti, kde <CONNECTION_NAME_PREFIX> je hodnota vaší connection vlastnosti v definici triggeru nebo vazby:
| Vlastnost | Šablona proměnné prostředí | Popis |
|---|---|---|
| Přihlašovací údaje tokenu | <CONNECTION_NAME_PREFIX>__credential |
Povinné. Při připojování k prostředku v jiném tenant nastavte tuto vlastnost na managedidentityasfederatedidentity. |
| Azure Cloud | <CONNECTION_NAME_PREFIX>__azureCloud |
Povinné. Tato vlastnost určuje Azure cloudové prostředí. Povolené hodnoty jsou "veřejné" pro Azure veřejný cloud, "usgov" pro Azure US Government Cloud a "china" pro Azure provozované společností 21Vianet. |
| ID klienta | <CONNECTION_NAME_PREFIX>__clientId |
Povinné. Pokud credential je tato vlastnost nastavená na managedidentityasfederatedidentity, nastavte tuto vlastnost na ID klienta (ID aplikace) registrace aplikace.Tato vlastnost se v připojeních na bázi identity s jedním tenantem používá odlišně. Viz část společné vlastnosti . Tato vlastnost se v místních vývojových scénářích používá odlišně, pokud credential by neměla být nastavena. |
| ID tenanta | <CONNECTION_NAME_PREFIX>__tenantId |
Povinné. Pokud je credential nastavena na managedidentityasfederatedidentity, nastavte tuto vlastnost na ID tenanta prostředku.Tato vlastnost se v místních vývojových scénářích používá odlišně, pokud credential by neměla být nastavena. |
| ID klienta spravované identity | <CONNECTION_NAME_PREFIX>__managedIdentityClientId |
Pokud credential je tato vlastnost nastavená na managedidentityasfederatedidentity, určuje identitu přiřazenou uživatelem, kterou jste nakonfigurovali jako přihlašovací údaje federované identity a přiřadili aplikaci.1 Vlastnost přijímá ID klienta odpovídající této identitě přiřazené uživatelem. |
| ID objektu spravované identity | <CONNECTION_NAME_PREFIX>__managedIdentityObjectId |
Pokud je credential nastaveno na managedidentityasfederatedidentity, tato vlastnost určuje uživatelem přiřazenou identitu, kterou jste nakonfigurovali jako přihlašovací údaje federované identity a přiřadili aplikaci.1 Vlastnost přijímá ID objektu (hlavní ID) odpovídající této uživatelem přiřazené identitě. |
| ID prostředku spravované identity | <CONNECTION_NAME_PREFIX>__managedIdentityResourceId |
Když je credential nastaveno na managedidentityasfederatedidentity, tato vlastnost určuje uživatelem přiřazenou identitu, kterou jste nakonfigurovali jako přihlašovací údaj federované identity a přiřadili aplikaci.1 Vlastnost přijímá identifikátor prostředku, který odpovídá této uživatelsky přiřazené identitě. |
1 Je-li credential nastavena na managedidentityasfederatedidentity, vaše připojení musí určit přesně jeden z managedIdentityClientId, managedIdentityObjectId nebo managedIdentityResourceId.
To je také documented by Azure SDK ve formátu JSON.
Hlášení problémů
| Položka | Popis | Odkaz |
|---|---|---|
| Šablona běhového prostředí | Hostitel skriptů, aktivační události a vazby, podpora jazyka | Soubor problém |
| Šablony | Problémy s kódem při vytváření šablony | Soubor problém |
Open source úložiště
Kód pro Azure Functions je open source a klíčové komponenty najdete v těchto úložištích GitHub:
hostitel Azure Functions
šablony Azure Functions
rozšíření sady WebJobs SDK Azure
- pracovní proces Azure Functions .NET (izolovaný proces)
- pracovní proces Azure Functions Java
- programovací model Azure Functions Node.js
- pracovní proces Azure Functions Python
Další kroky
Další informace naleznete v následujících zdrojích: