Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
Ha inkább a jobb beugrást választja, a
Ha inkább a jobb beugrást választja, a
Ha inkább a jobb beugrást választja, a
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:
- Azure Functions Core Tools (parancssor)
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:
- A Visual Studio közzététel során
A
Visual Studio Code Programozott módon Azure CLI, Azure PowerShell, ARM-sablonok vagy Bicep fájlok
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:
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:
- Azure Blobs-bővítmény
- Azure Queues bővítmény
- Azure Táblák bővítmény
- Event Hubs-bővítmény
- Service Bus bővítmény
- Event Grid-bővítmény
- Azure Cosmos DB bővítmény
- Azure SignalR-bővítmény
- Azure Web PubSub bővítmény
- Durable Functions társzolgáltató
- Funkciók hoszt tárolója
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:
- 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.
- Rendelje hozzá ezt az identitást a függvényalkalmazáshoz.
- 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.
- Adja hozzá a felügyelt identitást összevont identitás hitelesítő adatként az alkalmazásregisztrációhoz.
- 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.
- 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: