Azure Functions fejlesztői útmutató

A Azure Functions minden függvény alapvető technikai fogalmakat és összetevőket oszt meg, függetlenül az előnyben részesített nyelvtől vagy fejlesztési környezettől. Ez a cikk nyelvspecifikus. Válassza ki a kívánt nyelvet a cikk tetején.

Ez a cikk feltételezi, hogy már elolvasta a Azure Functions áttekintését.

Ha inkább közvetlenül be szeretne ugrani, a Visual Studio, Visual Studio Code vagy a kommentált parancssorból végezheti el.

Ha inkább közvetlenül be szeretne ugrani, a Maven (parancssor), Eclipse, IntelliJ IDEA, Gradle, Quarkus, Spring Cloud, vagy Visual Studio Code.

Ha inkább a jobb beugrást választja, a Visual Studio Code vagy a a használatával is elvégezhet egy rövid útmutató

Ha inkább a jobb beugrást választja, a Visual Studio Code vagy a a használatával is elvégezhet egy rövid útmutató

Ha inkább a jobb beugrást választja, a Visual Studio Code vagy a a használatával is elvégezhet egy rövid útmutató

Ha inkább a jobb beugrást választja, a Visual Studio Code vagy a a használatával is elvégezhet egy rövid útmutató

Ha inkább rögtön belevágsz, a parancssorból teljesíthetsz egy gyorsindítási oktatóanyagot.

Kódprojekt

A Azure Functions középpontjában egy nyelvspecifikus kódprojekt áll, amely egy vagy több, functions nevű kódvégrehajtási egységet implementál. A függvények egyszerűen olyan metódusok, amelyek a Azure felhőben futnak események, HTTP-kérések válasza vagy ütemezés alapján. A Azure Functions kódprojektre úgy tekinthet, mint a projekt egyes funkcióinak rendszerezésére, üzembe helyezésére és közös kezelésére, amikor azok Azure futnak. További információ: Függvények rendszerezése.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. A nyelvspecifikus részletes útmutatásért tekintse meg a C# fejlesztői útmutatóját.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. Nyelvspecifikus útmutatásért tekintse meg a Java fejlesztői útmutatót.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. A nyelvspecifikus útmutatásért tekintse meg a Node.js fejlesztői útmutatót.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. Nyelvspecifikus útmutatásért tekintse meg a PowerShell fejlesztői útmutatóját.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. Nyelvspecifikus útmutatásért tekintse meg a Python fejlesztői útmutatót.

A kódprojekt elrendezése és a projektben szereplő metódusok megjelölésének módja a projekt fejlesztési nyelvétől függ. Nyelvspecifikus útmutatásért lásd a Go fejlesztői útmutatót.

Minden függvénynek rendelkeznie kell egy eseményindítóval, amely meghatározza a függvény indításának módját, és képes bemenetet adni a függvénynek. A függvények opcionálisan definiálhatnak bemeneti és kimeneti kötéseket. Ezek a kötések egyszerűsítik a más szolgáltatásokhoz való kapcsolódást anélkül, hogy ügyféloldali SDK-kkal kellene dolgozniuk. További információ: Azure Functions triggerek és kötések fogalma.

Azure Functions nyelvspecifikus projekt- és függvénysablonokat biztosít, amelyek megkönnyítik új kódprojektek létrehozását és függvények hozzáadását a projekthez. A Azure Functions fejlesztést támogató eszközök bármelyikével új alkalmazásokat és függvényeket hozhat létre ezekkel a sablonokkal.

Fejlesztési eszközök

Az alábbi eszközök integrált fejlesztési és közzétételi élményt nyújtanak Azure Functions számára az Ön által előnyben részesített nyelven:

Ezek az eszközök integrálhatók a Azure Functions Core Tools segítségével, hogy a helyi számítógépen futtassa és hibakeresését a Functions-futtatókörnyezettel. További információ: Kódolás és Azure Functions helyi tesztelése.

A Azure portálon egy szerkesztő is található, amellyel közvetlenül a portálon frissítheti a kódot és a function.json definíciós fájlt. Ezt a szerkesztőt csak kis módosításokhoz vagy megvalósíthatósági igazolási függvényekhez érdemes használni. Ha lehetséges, mindig helyben kell fejlesztenie a függvényeket. További információ: Az első függvény létrehozása a Azure portálon.

A portálszerkesztés csak Node.js 3- es verzió esetén támogatott, amely a function.json fájlt használja.

Telepítés

Amikor közzéteszi a kódprojektet a Azure, lényegében egy meglévő függvényalkalmazás-erőforrásban helyezi üzembe a projektet. A függvényalkalmazások végrehajtási környezetet biztosítanak Azure, amelyben a függvények futnak. Ezért ez a függvények üzembe helyezésének és felügyeletének egysége. Az Azure erőforrás szempontjából a függvényalkalmazások egyenértékűek egy webhelyerőforrással (Microsoft.Web/sites) Azure App Service, amely egy webalkalmazással egyenértékű.

A függvényalkalmazások egy vagy több különálló függvényből állnak, amelyek kezelése, üzembe helyezése és skálázása együtt történik. A függvényalkalmazások összes függvénye ugyanazt a tarifacsomagot, üzembe helyezési módszert és futtatókörnyezeti verziót használja. További információ: Függvényalkalmazások kezelése.

Ha a függvényalkalmazás és az egyéb szükséges erőforrások még nem léteznek a Azure, először létre kell hoznia ezeket az erőforrásokat, mielőtt üzembe helyezheti a projektfájlokat. Ezeket az erőforrásokat az alábbi módokon hozhatja létre:

Az eszközalapú közzététel mellett a Functions más technológiákat is támogat a forráskód meglévő függvényalkalmazásban való üzembe helyezéséhez. További információ: Deployment technologies in Azure Functions.

Kapcsolódás szolgáltatásokhoz

A felhőalapú számítási szolgáltatások egyik fő követelménye az adatok olvasása és más felhőszolgáltatásokba való írása. A Functions számos kötést biztosít, amelyek megkönnyítik a szolgáltatásokhoz való csatlakozást anélkül, hogy ügyféloldali SDK-kkal kellene dolgoznia.

Akár a Functions által biztosított kötésbővítményeket használja, akár közvetlenül az ügyféloldali SDK-kkal dolgozik, biztonságosan tárolja a kapcsolati adatokat, és nem foglalja bele azokat a kódba. További információ: Kapcsolatok.

Kötések

A Functions számos Azure szolgáltatáshoz és néhány külső szolgáltatáshoz biztosít kötéseket, amelyek bővítményként vannak implementálva. További információkért tekintse meg a támogatott kötések teljes listáját.

A kötésbővítmények támogatják a bemeneteket és a kimeneteket is, és számos eseményindító bemeneti kötésként is működik. A kötések lehetővé teszik a szolgáltatásokhoz való csatlakozás konfigurálását, hogy a Functions-gazdagép kezelje az Ön számára az adathozzáférést. További információ: Azure Functions triggerek és kötések fogalma.

Ha problémákat tapasztal a kötésekből eredő hibákkal kapcsolatban, tekintse meg a Azure Functions kötési hibakódokat dokumentációt.

Ügyfél-SDK-k

Bár a Functions kötéseket biztosít a függvénykód adathozzáférésének egyszerűsítéséhez, a projektben lévő ügyféloldali SDK-val továbbra is közvetlenül hozzáférhet egy adott szolgáltatáshoz, ha szeretné. Előfordulhat, hogy közvetlenül ügyféloldali SDK-kat kell használnia, ha a függvényekhez a mögöttes SDK olyan funkciója szükséges, amelyet a kötésbővítmény nem támogat.

Ügyféloldali SDK-k használatakor ugyanazt a folyamatot kell használnia a kötésbővítmények által használt kapcsolati sztring tárolásához és eléréséhez.

Amikor létrehoz egy ügyfél SDK-példányt a függvényekben, le kell kapnia az ügyfél által igényelt kapcsolati adatokat a környezeti változókból.

Amikor létrehoz egy ügyfél SDK-példányt a függvényekben, le kell kapnia az ügyfél által igényelt kapcsolati adatokat a környezeti változókból.

Amikor létrehoz egy ügyfél SDK-példányt a függvényekben, le kell kapnia az ügyfél által igényelt kapcsolati adatokat a környezeti változókból.

Amikor létrehoz egy ügyfél SDK-példányt a függvényekben, le kell kapnia az ügyfél által igényelt kapcsolati adatokat a környezeti változókból.

Amikor létrehoz egy ügyfél SDK-példányt a függvényekben, le kell kapnia az ügyfél által igényelt kapcsolati adatokat a környezeti változókból.

Kapcsolatok

Ajánlott biztonsági eljárásként a Azure Functions kihasználja a Azure App Service alkalmazásbeállítási funkcióit, hogy biztonságosabban tárolhassa a más szolgáltatásokhoz való csatlakozáshoz szükséges sztringeket, kulcsokat és egyéb jogkivonatokat. A Azure alkalmazásbeállításai titkosítva vannak tárolva, és futásidőben érhetők el az alkalmazás namevalue pár környezeti változóként. Kapcsolati tulajdonságot igénylő eseményindítók és kötések esetén az alkalmazásbeállítás nevét kell megadnia a tényleges kapcsolati karakterlánc helyett. A kötéseket nem konfigurálhatja közvetlenül kapcsolati karakterlánc vagy kulccsal.

Vegyük például egy tulajdonságot tartalmazó triggerdefiníciót connection . A kapcsolati karakterlánc helyett a connection egy környezeti változó nevére állítja, amely tartalmazza a kapcsolati karakterlánc. A titkos kódok hozzáférési stratégiájának használatával az alkalmazások biztonságosabbak, és megkönnyítik a környezetek közötti kapcsolatok módosítását. A még nagyobb biztonság érdekében identitásalapú kapcsolatokat is használhat.

Az alapértelmezett konfigurációszolgáltató környezeti változókat használ. Ezek a változók a alkalmazási beállításokban vannak definiálva, amikor a Azure és a local settings file helyi fejlesztés során futnak.

Kapcsolati értékek

Amikor a kapcsolat neve egyetlen pontos értékre oldódik fel, a futtatókörnyezet kapcsolati karakterláncként azonosítja az értéket, amely általában titkos kulcsot tartalmaz. A kapcsolati karakterlánc részletei attól függenek, hogy melyik szolgáltatáshoz csatlakozik.

A kapcsolatnevek azonban több konfigurációelem gyűjteményére is hivatkozhatnak, amelyek az identitásalapú kapcsolatok konfigurálásához hasznosak. A környezeti változók gyűjteményként kezelhetők dupla aláhúzásjelekkel __végződő megosztott előtaggal. A csoportra ezután hivatkozhat úgy, hogy a kapcsolat nevét erre az előtagra állítja.

Egy Azure Blob-eseményindító definíciójának connection tulajdonsága például Storage1 lehet. Mindaddig, amíg egy Storage1 nevű környezeti változó nem konfigurál egyetlen sztring értéket, egy Storage1__blobServiceUri nevű környezeti változó használható a kapcsolat blobServiceUri tulajdonságának tájékoztatására. A kapcsolat tulajdonságai minden szolgáltatás esetében eltérőek. Tekintse meg a kapcsolatot használó összetevő dokumentációját.

Feljegyzés

Ha Azure App Configuration vagy Key Vault használatával adja meg a felügyelt identitáskapcsolatok beállításait, a neveknek érvényes kulcselválasztót kell használniuk, például : vagy / a __ helyett, hogy a nevek megfelelően legyenek feloldva.

Például: Storage1:blobServiceUri.

Identitásalapú kapcsolat konfigurálása

A Azure Functions egyes kapcsolatai úgy konfigurálhatók, hogy titkos kulcs helyett identitást használjanak. A támogatás a futtatókörnyezet verziójától és a kapcsolatot használó bővítménytől függ. Bizonyos esetekben előfordulhat, hogy a Functionsben továbbra is szükség van egy kapcsolati karakterlánc, annak ellenére, hogy a szolgáltatás, amelyhez csatlakozik, támogatja az identitásalapú kapcsolatokat. A függvényalkalmazások felügyelt identitásokkal való konfigurálásáról szóló oktatóanyagot az identitásalapú kapcsolatokkal rendelkező függvényalkalmazások létrehozásáról szóló oktatóanyagban tekintheti meg.

Feljegyzés

Ha használatalapú vagy rugalmas prémium csomagban fut, az alkalmazás a WEBSITE_AZUREFILESCONNECTIONSTRING és WEBSITE_CONTENTSHARE beállításokat használja a függvényalkalmazás által használt tárfiók Azure Files való csatlakozáskor. Azure Files nem támogatja a felügyelt identitás használatát a fájlmegosztás elérésekor. További információ: Azure Files támogatott hitelesítési forgatókönyvek

Az identitásalapú kapcsolatok csak a Functions 4.x-ben támogatottak, ha az 1.x verziót használja, először át kell telepítenie a 4.x verzióra.

Az alábbi összetevők támogatják az identitásalapú kapcsolatokat:

Kapcsolat forrása Támogatott csomagok További információ
Azure blobok eseményindítói és kötései Mind Azure Blobs-bővítmény 5.0.0-s vagy újabb verziója,
3.3.0-s vagy újabb bővítménycsomag
Azure üzenetsorok eseményindítói és kötései Mind Azure Queues bővítmény 5.0.0-s vagy újabb verziója,
3.3.0-s vagy újabb bővítménycsomag
Azure táblák (Azure Storage használatakor) Mind Azure Table extension version 1.0.0 vagy újabb,
3.3.0-s vagy újabb bővítménycsomag
Azure SQL Database Mind Függvényalkalmazás csatlakoztatása felügyelt identitással és SQL-kötésekkel Azure SQL
Azure Event Hubs eseményindítók és kötések Mind Azure Event Hubs 5.0.0-s vagy újabb verzió,
3.3.0-s vagy újabb bővítménycsomag
Azure Service Bus eseményindítók és kötések Mind Azure Service Bus 5.0.0-s vagy újabb verzió,
3.3.0-s vagy újabb bővítménycsomag
Azure Event Grid kimeneti kötés Mind Azure Event Grid 3.3.0-s vagy újabb verzió,
3.3.0-s vagy újabb bővítménycsomag
Azure Cosmos DB eseményindítók és kötések Mind Azure Cosmos DB 4.0.0-s vagy újabb verzió,
4.0.2-s vagy újabb bővítménycsomag
Azure SignalR-eseményindítók és kötések Mind Azure SignalR-bővítmény 1.7.0-s vagy újabb verziója
Bővítménycsomag 3.6.1 vagy újabb
Azure Web PubSub eseményindítók és kötések Mind Azure Web PubSub bővítmény 1.10.0-s vagy újabb verziója
Bővítménycsomag 3.6.1 vagy újabb
Durable Functions tárolószolgáltató (Azure Storage) Mind Durable Functions 2.7.0-s vagy újabb verzió,
3.3.0-s vagy újabb bővítménycsomag
Gazdagéphez szükséges tároló ("AzureWebJobsStorage") Mind Csatlakozás gazdagéptárolóhoz identitással

A Azure Functions szolgáltatásban üzemeltetett identitásalapú kapcsolatok managed identitást használnak. A rendszer alapértelmezés szerint a rendszer által hozzárendelt identitást használja, bár a felhasználó által hozzárendelt identitás megadható a credential tulajdonságokkal együtt clientID . Vegye figyelembe, hogy a felhasználó által hozzárendelt identitás konfigurálása erőforrás-azonosítóval nem támogatott. Ha más környezetekben, például helyi fejlesztésben fut, a rendszer ehelyett a fejlesztői identitást használja, bár ez testre szabható. Lásd: Helyi fejlesztés identitásalapú kapcsolatokkal.

Engedély megadása az identitáshoz

Bármilyen identitást is használ, rendelkeznie kell a kívánt műveletek végrehajtásához szükséges engedélyekkel. A legtöbb Azure szolgáltatás esetében ez azt jelenti, hogy assign szerepkört kell hozzárendelnie Azure RBAC beépített vagy egyéni szerepkörökkel, amelyek biztosítják ezeket az engedélyeket.

Fontos

A célszolgáltatás bizonyos engedélyeket közzétehet, amelyek nem minden környezethez szükségesek. Ahol lehetséges, tartsa be a minimális jogosultság elvét, és csak az identitáshoz szükséges jogosultságokat adja meg. Ha például az alkalmazásnak csak adatforrásból kell olvasnia, használjon olyan szerepkört, amely csak olvasási engedéllyel rendelkezik. Nem lenne helyénvaló olyan szerepkört hozzárendelni, amely lehetővé teszi az írást is a szolgáltatáshoz, mivel ez túlzott engedély lenne egy olvasási művelethez. Hasonlóképpen meg szeretné győződni arról, hogy a szerepkör-hozzárendelés csak az elolvasandó erőforrásokra terjed ki.

Az egyes összetevők engedélyeinek megismeréséhez válassza az alábbi lapok egyikét:

Létre kell hoznia egy szerepkör-hozzárendelést, amely futásidőben hozzáférést biztosít a blobtárolóhoz. A tulajdonoshoz hasonló felügyeleti szerepkörök nem elegendőek. Az alábbi táblázat a Blob Storage bővítmény normál műveletben való használatakor ajánlott beépített szerepköröket mutatja be. Előfordulhat, hogy az alkalmazás további engedélyeket igényel az Ön által írt kód alapján.

Kötés típusa Példa beépített szerepkörökre
Eseményindító Tároló Blob AdattulajdonosésTároló Sor Adatközreműködő1

További engedélyeket is meg kell adni az AzureWebJobsStorage-kapcsolatnak.2
Bemeneti kötés Blobadat-tároló olvasó
Kimeneti kötés Tárolási blob-adatok tulajdonosa

1 A blob-eseményindító több újrapróbálkozás során is kezeli a hibákat, ha méregblobokat ír a kapcsolat által megadott tárfiók egyik üzenetsorába.

2 Az AzureWebJobsStorage kapcsolat belsőleg használatos az eseményindítót engedélyező blobokhoz és üzenetsorokhoz. Ha identitásalapú kapcsolat használatára van konfigurálva, az alapértelmezett követelményen túl további engedélyekre van szüksége. A szükséges engedélyekre a Storage Blob Data Owner, a Storage Queue Data Közreműködő és a Tárfiók közreműködői szerepkörei vonatkoznak. További információ: Csatlakozás a gazdagép tárolójához identitással.

Identitásalapú kapcsolatok gyakori tulajdonságai

Egy Azure szolgáltatás identitásalapú kapcsolata a következő gyakori tulajdonságokat fogadja el, ahol a <CONNECTION_NAME_PREFIX> az eseményindító vagy kötésdefiníció connection tulajdonságának értéke:

Tulajdonság Környezeti változó sablonja Leírás
Token hitelesítő adatai <CONNECTION_NAME_PREFIX>__credential Ez a tulajdonság határozza meg, hogyan szerezhető be a token a kapcsolathoz. A tulajdonságot nem szabad helyi fejlesztési forgatókönyvekben beállítani. Ha felügyelt identitáshitelesítést kíván használni, állítsa ezt a tulajdonságot a következőre managedidentity: . Ha egy másik bérlőben lévő erőforráshoz szeretne csatlakozni, használja a következőt managedidentityasfederatedidentity: .
Ügyfél azonosítója <CONNECTION_NAME_PREFIX>__clientId Ha credential be van állítva managedidentity, ez a tulajdonság megadható a jogkivonat beszerzésekor használandó felhasználó által hozzárendelt identitás megadására. A tulajdonság elfogadja az alkalmazáshoz hozzárendelt, felhasználó által hozzárendelt identitásnak megfelelő ügyfél-azonosítót. Érvénytelen az erőforrás-azonosító és az ügyfél-azonosító megadása. Ha egyik sincs megadva, a rendszer a rendszer által hozzárendelt identitást használja.

Ezt a tulajdonságot a bérlők közötti forgatókönyvekben eltérően használják. Tekintse meg a bérlők közötti forgatókönyvek szakaszt .

Ezt a tulajdonságot eltérően használják a helyi fejlesztési forgatókönyvekben, amikor credential nem szabad beállítani.
Erőforrás-azonosító <CONNECTION_NAME_PREFIX>__managedIdentityResourceId Ha credential be van állítva managedidentity, ez a tulajdonság megadható a jogkivonat beszerzésekor használandó felhasználó által hozzárendelt identitás megadására. A tulajdonság elfogadja az alkalmazáshoz hozzárendelt, felhasználó által hozzárendelt identitásnak megfelelő erőforrás-azonosítót. Érvénytelen az erőforrás-azonosító és az ügyfél-azonosító megadása. Ha egyik sincs megadva, a rendszer a rendszer által hozzárendelt identitást használja.

Egy adott kapcsolattípus esetében más lehetőségek is támogatottak lehetnek. Tekintse meg a kapcsolatot létesítő összetevő dokumentációját.

Azure SDK környezeti változók

Figyelemfelhívás

A Azure SDK EnvironmentCredential környezeti változóinak használata nem ajánlott, mert más kapcsolatokra esetleg nem szándékos hatással van. A Azure Functions üzembe helyezésekor sem támogatottak teljes mértékben.

A Azure SDK EnvironmentCredential környezeti változói is beállíthatók, de ezeket a Functions szolgáltatás nem dolgozza fel a használati csomagokban való skálázáshoz. Ezek a környezeti változók egyetlen kapcsolatra sem vonatkoznak, és alapértelmezettként lesznek alkalmazva, kivéve, ha egy adott kapcsolathoz nincs beállítva megfelelő tulajdonság. Ha például AZURE_CLIENT_ID be van állítva, a rendszer ezt úgy használja, mintha <CONNECTION_NAME_PREFIX>__clientId konfigurálta volna. A explicit beállítás <CONNECTION_NAME_PREFIX>__clientId felülírná ezt az alapértelmezett beállítást.

Helyi fejlesztés identitásalapú kapcsolatokkal

Feljegyzés

Az identitásalapú kapcsolatok helyi fejlesztéséhez 4.0.3904Azure Functions Core Tools vagy újabb verzió szükséges.

Amikor helyileg futtatja a függvényprojektet, a fenti konfiguráció arra utasítja a futtatókörnyezetet, hogy használja a helyi fejlesztői identitást. A kapcsolat a következő helyekről próbál jogkivonatot lekérni, sorrendben:

  • Microsoft-alkalmazások között megosztott helyi gyorsítótár
  • Az aktuális felhasználói környezet a Visual Studio
  • Az aktuális felhasználói környezet a Visual Studio Code
  • Az aktuális felhasználói környezet a Azure CLI

Ha egyik lehetőség sem sikeres, hiba történik.

Előfordulhat, hogy az identitása már rendelkezik néhány szerepkör-hozzárendeléssel Azure fejlesztéshez használt erőforrásokhoz, de előfordulhat, hogy ezek a szerepkörök nem biztosítják a szükséges adathozzáférést. A tulajdonoshoz hasonló felügyeleti szerepkörök nem elegendőek. Ellenőrizze, hogy milyen engedélyek szükségesek az egyes összetevők kapcsolataihoz, és győződjön meg arról, hogy azokat saját magához rendelte.

Bizonyos esetekben előfordulhat, hogy más identitás használatát szeretné megadni. Hozzáadhat konfigurációs tulajdonságokat a kapcsolathoz, amelyek egy Microsoft Entra szolgáltatásnév ügyfélazonosítója és titkos ügyfélkódja alapján másodlagos identitásra mutatnak. Ez a konfigurációs beállítás nem támogatott az Azure Functions szolgáltatásban üzemeltetve. Ha azonosítót és titkos kulcsot szeretne használni a helyi gépen, adja meg a kapcsolatot a következő további tulajdonságokkal:

Tulajdonság Környezeti változó sablonja Leírás
Bérlőazonosító <CONNECTION_NAME_PREFIX>__tenantId A Microsoft Entra bérlő (címtár) azonosítója.
Ügyfél azonosítója <CONNECTION_NAME_PREFIX>__clientId Egy alkalmazásregisztráció ügyfél-(alkalmazás-) azonosítója a bérlőben.
Titkos ügyfélkód <CONNECTION_NAME_PREFIX>__clientSecret Az alkalmazásregisztrációhoz létrehozott ügyfélkód.

Íme egy példa local.settings.json Azure blobokhoz való identitásalapú kapcsolathoz szükséges tulajdonságokra:

{
  "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>"
  }
}

Csatlakozás gazdagéptárolóhoz identitással

A Azure Functions gazdagép a AzureWebJobsStorage tárolókapcsolatot használja olyan alapvető viselkedések engedélyezéséhez, mint például az időzítő-eseményindítók egyszeri végrehajtásának koordinálása és az alapértelmezett alkalmazáskulcs-tároló. Ez a kapcsolat identitás használatára is konfigurálható.

Figyelemfelhívás

A Functions más összetevői az alapértelmezett viselkedésre támaszkodnak AzureWebJobsStorage . Nem helyezheti át identitásalapú kapcsolatra, ha olyan bővítmények régebbi verzióit használja, amelyek nem támogatják az ilyen típusú kapcsolatot, beleértve a Azure Blobok, Event Hubs és Durable Functions eseményindítóit és kötéseit. Hasonlóképpen AzureWebJobsStorage az üzembehelyezési összetevőkhöz is használható, amikor kiszolgálóoldali buildet használ a Linux-használatban, és ha engedélyezi ezt, egy külső üzembehelyezési csomagon keresztül kell üzembe helyeznie.

Emellett előfordulhat, hogy a függvényalkalmazás újrahasználja AzureWebJobsStorage az eseményindítókban, kötésekben és/vagy függvénykódokban lévő egyéb tárolási kapcsolatokat. Győződjön meg arról, hogy a AzureWebJobsStorage minden használata képes az identitásalapú kapcsolatformátum használatára, mielőtt módosítaná ezt a kapcsolatot egy kapcsolati karakterlánc.

Identitásalapú kapcsolat AzureWebJobsStoragehasználatához konfigurálja a következő alkalmazásbeállításokat:

Beállítás Leírás Példaérték
AzureWebJobsStorage__blobServiceUri A tárfiók blobszolgáltatásának adatsík URI-ja a HTTPS-séma használatával. <https://storage_account_name.blob.core.windows.net>
AzureWebJobsStorage__queueServiceUri A tárfiók üzenetsor-szolgáltatásának adatsík URI-ja a HTTPS-séma használatával. <https://storage_account_name.queue.core.windows.net>
AzureWebJobsStorage__tableServiceUri A tárfiók táblaszolgáltatásának adatsík URI-ja a HTTPS-séma használatával. <https:// storage_account_name.table.core.windows.net>

Az identitásalapú kapcsolatok általános tulajdonságai is beállíthatók .

Ha AzureWebJobsStorage a globális Azure alapértelmezett DNS-utótagját és szolgáltatásnevét használó tárfiók használatával konfigurálja, a https://<accountName>.[blob|queue|file|table].core.windows.net formátumot követve ehelyett a tárfiók nevére állíthatja be a AzureWebJobsStorage__accountName. Az egyes tárolási szolgáltatások végpontjai erre a fiókra következtetnek. Ez nem működik, ha a tárfiók szuverén felhőben van, vagy egyéni DNS-sel rendelkezik.

Beállítás Leírás Példaérték
AzureWebJobsStorage__accountName A tárfiók fiókneve csak akkor érvényes, ha a fiók nincs szuverén felhőben, és nem rendelkezik egyéni DNS-sel. Ez a szintaxis kizárólag a AzureWebJobsStorage számára egyedi, és nem használható más identitásalapú kapcsolatokhoz. <tárolófiók_neve>

Létre kell hoznia egy szerepkör-hozzárendelést, amely futtatókörnyezetben hozzáférést biztosít az "AzureWebJobsStorage" tárfiókjához. A tulajdonoshoz hasonló felügyeleti szerepkörök nem elegendőek. A Storage Blob Data Owner szerepkör lefedi a Functions gazdagéptároló alapvető igényeit – a futtatókörnyezetnek olvasási és írási hozzáférést kell biztosítania a blobokhoz, valamint tárolókat kell létrehoznia. Több bővítmény is ezt a kapcsolatot használja alapértelmezett helyként blobok, üzenetsorok és táblák esetében, és ezek a használatok követelményeket is tartalmazhatnak az alábbi táblázatban leírtak szerint. Más engedélyekre is szükség lehet, ha az "AzureWebJobsStorage"-t bármilyen más célra használja.

Mellék Szerepkörök szükségesek Magyarázat
Nincs bővítmény (csak gazdagép) Tárolási blob-adatok tulajdonosa A Functions blobtárolót használ az általános koordinációhoz és alapértelmezett kulcstárolóként.

Ez a forgatókönyv a normál művelet minimális engedélykészletét jelenti, de nem tartalmazza az1. diagnosztikai események támogatását.
No extension (host only), with support for diagnostic events1 Nincs bővítmény (csak gazdagép), amely támogatja a diagnosztikai eseményeket1 Tárhely Blob Adat Tulajdonos
Storage Table Data Közreműködő
A diagnosztikai események az AzureWebJobsStorage kapcsolat használatával megmaradnak a táblatárolóban.
Azure blobok (csak trigger) A következők mindegyike:
Tárfiók közreműködője,
Tárhely Blob Adat Tulajdonos
Tárolási várólista adatszolgáltatója
A blob-eseményindító belsőleg Azure üzenetsorokat használ, és blob visszaigazolásokat ír. Az AzureWebJobsStorage kapcsolatot használja ezekhez a célokhoz, függetlenül az eseményindítóhoz konfigurált kapcsolattól.
Azure Event Hubs (csak trigger) (nincs változás az alapértelmezett követelménytől)
Tárolási blob-adatok tulajdonosa
Az ellenőrzőpontok az AzureWebJobsStorage kapcsolat használatával blobokban maradnak meg.
Időzítő-eseményindító (nincs változás az alapértelmezett követelménytől)
Tárolási blob-adatok tulajdonosa
Az eseményenként egy végrehajtás biztosítása érdekében a zárolások blobokkal lesznek rögzítve az AzureWebJobsStorage kapcsolat használatával.
Durable Functions A következők mindegyike:
Storage Blob Data Közreműködő,
Tárolási várólista adatszolgáltatója,
Storage Table Data Közreműködő
Durable Functions blobokat, üzenetsorokat és táblákat használ a tevékenységfüggvények koordinálásához és a vezénylési állapot fenntartásához. Alapértelmezés szerint az AzureWebJobsStorage kapcsolatot használja, de a Durable Functions bővítménykonfigurációban megadhat egy másik kapcsolatot.

1 Bizonyos típusú problémák esetén Azure Functions olyan diagnosztikai eseményt hozhat létre, amely segíthet a hibaelhárításban, még akkor is, ha a probléma megakadályozza a függvényalkalmazás elindítását. Ha a Storage Table Data Közreműködő nincs hozzárendelve, figyelmeztetések jelenhetnek meg a naplókban arról, hogy nem lehet írni ezeket az eseményeket.

Csatlakozás egy másik bérlőben lévő erőforráshoz

Ha a függvénynek egy másik Microsoft Entra-bérlőben lévő erőforráshoz kell csatlakoznia, a kapcsolatnak egy dederated identity credential kell használnia. Ehhez egy felhasználó által hozzárendelt felügyelt identitásra és egy több-bérlős Entra-azonosítós alkalmazásregisztrációra van szükség. Bérlők közötti kapcsolatokhoz nem használhat rendszer által hozzárendelt felügyelt identitást.

Fontos

Ha bérlőközi kapcsolathoz konfigurál egy eseményindítót a Használat vagy a Rugalmas kihasználtság csomagtípusban, a platform többé nem skálázza a függvényalkalmazást az eseményindító alapján.

Bérlők közötti identitásalapú kapcsolat konfigurálásához először az alábbi lépések végrehajtásával kell beállítania az infrastruktúrát:

  1. A bérlőben, ahol a függvényalkalmazás üzembe van helyezve, hozzon létre egy felhasználó által hozzárendelt új felügyelt identitást.
  2. Rendelje hozzá ezt az identitást a függvényalkalmazáshoz.
  3. Ugyanabban a bérlőben hozzon létre egy több-bérlős Entra-alkalmazásregisztrációt , amely a elérni kívánt bérlőközi erőforrást jelöli.
  4. Adja hozzá a felügyelt identitást összevont identitás hitelesítő adatként az alkalmazásregisztrációhoz.
  5. A bérlőnél, ahol az erőforrás üzembe van helyezve, hozzon létre egy vállalati alkalmazást az alkalmazás regisztrálására.
  6. Adjon meg engedélyeket a vállalati alkalmazás számára az erőforrás eléréséhez.

A bérlők közötti identitásalapú kapcsolat a következő tulajdonságokat használja, ahol a <CONNECTION_NAME_PREFIX> az Ön connection tulajdonságának értékét jelenti az eseményindító vagy a kötés definíciójában.

Tulajdonság Környezeti változó sablonja Leírás
Token hitelesítő adatai <CONNECTION_NAME_PREFIX>__credential Szükséges. Amikor egy másik bérlőben lévő erőforráshoz csatlakozik, állítsa ezt a tulajdonságot a következőre managedidentityasfederatedidentity: .
Azure felhő <CONNECTION_NAME_PREFIX>__azureCloud Szükséges. Ez a tulajdonság határozza meg a Azure felhőkörnyezetet. Az engedélyezett értékek nyilvánosak Azure nyilvános felhő esetében, a "usgov" a Azure US Government Cloud esetében, valamint a 21Vianet által üzemeltetett Azure "kína" értéke.
Ügyfél azonosítója <CONNECTION_NAME_PREFIX>__clientId Szükséges. Ha credential be van állítva managedidentityasfederatedidentity, állítsa be ezt a tulajdonságot az alkalmazásregisztráció ügyfél-azonosítójára (alkalmazásazonosítójára).

Ez a tulajdonság az egybérlős identitásalapú kapcsolatokban eltérően van használatban. Lásd a közös tulajdonságok szakaszt .

Ezt a tulajdonságot eltérően használják a helyi fejlesztési forgatókönyvekben, amikor credential nem szabad beállítani.
Bérlőazonosító <CONNECTION_NAME_PREFIX>__tenantId Szükséges. Ha a credential be van állítva managedidentityasfederatedidentity, állítsa ezt a tulajdonságot az erőforrás bérlőazonosítójára.

Ezt a tulajdonságot eltérően használják a helyi fejlesztési forgatókönyvekben, amikor credential nem szabad beállítani.
Felügyelt identitás ügyfélazonosítója <CONNECTION_NAME_PREFIX>__managedIdentityClientId Ha credential be van állítva managedidentityasfederatedidentity, ez a tulajdonság határozza meg azt a felhasználó által hozzárendelt identitást, amelyet összevont identitás hitelesítő adatként konfigurált és hozzárendelt az alkalmazáshoz.1 A tulajdonság elfogadja az adott felhasználó által hozzárendelt identitásnak megfelelő ügyfél-azonosítót.
Felügyelt identitásobjektum azonosítója <CONNECTION_NAME_PREFIX>__managedIdentityObjectId Ha credential be van állítva managedidentityasfederatedidentity, ez a tulajdonság határozza meg azt a felhasználó által hozzárendelt identitást, amelyet összevont identitás hitelesítő adatként konfigurált és hozzárendelt az alkalmazáshoz.1 A tulajdonság elfogadja az adott felhasználó által hozzárendelt identitásnak megfelelő objektumazonosítót (egyszerű azonosítót).
Kezelés alatt álló identitás erőforrás-azonosítója <CONNECTION_NAME_PREFIX>__managedIdentityResourceId Ha credential be van állítva managedidentityasfederatedidentity, ez a tulajdonság határozza meg azt a felhasználó által hozzárendelt identitást, amelyet összevont identitás hitelesítő adatként konfigurált és hozzárendelt az alkalmazáshoz.1 A tulajdonság elfogadja az adott felhasználó által hozzárendelt identitásnak megfelelő erőforrás-azonosítót.

1 Ha credential be van állítvamanagedidentityasfederatedidentity, a kapcsolatnak pontosan az egyiket kell megadniamanagedIdentityClientId.managedIdentityObjectIdmanagedIdentityResourceId

Ez a Azure SDK JSON formátumban is elérhető.

Jelentéskészítési problémák

Elem Leírás Hivatkozás
Futtatókörnyezet Szkriptgazda, Triggerek > Kötések, Nyelvi támogatás Problémafájl
Sablonok Kódproblémák a létrehozási sablonnal kapcsolatban Problémafájl

Nyílt forráskódú adattárak

A Azure Functions kódja nyílt forráskód, és a kulcsösszetevőket ezekben a GitHub adattárakban találja:

Következő lépések

További információt a következő források tartalmaznak: