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.
Amikor csak lehetséges, helyi fejlesztési környezetben kell létrehoznia és ellenőriznie az Azure Functions-kódprojektet. Az Azure Functions Core Tools az Azure Functions helyi futtatókörnyezeti verzióját biztosítja, amely integrált fejlesztéshez, hibakereséshez és üzembe helyezéshez integrálható népszerű fejlesztői eszközökkel. A helyi függvények akár élő Azure-szolgáltatásokhoz is csatlakozhatnak.
Ez a cikk megosztott útmutatást nyújt a helyi fejlesztéshez, például a local.settings.json fájllal való munkához. Emellett a fejlesztési környezetre vonatkozó útmutatásra is hivatkozik.
Jótanács
A függvények helyi fejlesztésével kapcsolatos részletes információkat a csatolt IDE-specifikus útmutatókban találja.
Helyi fejlesztési környezetek
A helyi számítógépen a függvények fejlesztésének módja a nyelvtől és az eszközhasználati beállításoktól függ. Ügyeljen arra, hogy a cikk tetején válassza ki az előnyben részesített nyelvet.
Jótanács
Minden helyi fejlesztés az Azure Functions Core Toolsra támaszkodik, amely biztosítja a Functions-futtatókörnyezetet a helyi környezetben történő hibakereséshez.
Ezeket a fejlesztési környezeteket használhatja a függvények helyi kódjához az előnyben részesített nyelven:
Környezet | Leírás |
---|---|
Visual Studio | Az Azure Functions-eszközöket a Visual StudioAzure-fejlesztési számítási feladatai tartalmazzák. Lehetővé teszi a C# függvénykód fordítását és üzembe helyezését az Azure-ban .NET-osztálytárként. Tartalmazza a helyi teszteléshez szükséges alapvető eszközöket. További információ: Az első C#-függvény létrehozása az Azure-ban a Visual Studióval |
Visual Studio Code | A Visual Studio Code Azure Functions-bővítménye függvénytámogatást ad a Visual Studio Code-hoz. Az alapvető eszközökre van szükség. Támogatja a linuxos, macOS- és Windows-alapú fejlesztést. További információ: Az első függvény létrehozása a Visual Studio Code használatával. |
Parancssor vagy terminál | Az Azure Functions Core Tools biztosítja az alapvető futtatókörnyezetet és a függvények létrehozásához szükséges sablonokat, amelyek lehetővé teszik a helyi fejlesztést. Támogatja a linuxos, macOS- és Windows-alapú fejlesztést. További információ: C#-függvény létrehozása az Azure-ban a parancssorból. |
Környezet | Leírás |
---|---|
Maven | A Maven archetípus a Core Tools használatával teszi lehetővé a Java-függvények fejlesztését. Támogatja a linuxos, macOS- és Windows-alapú fejlesztést. További információ: Az első függvény létrehozása Java és Maven használatával. |
Visual Studio Code | A Visual Studio Code Azure Functions-bővítménye függvénytámogatást ad a Visual Studio Code-hoz. Az alapvető eszközökre van szükség. Támogatja a linuxos, macOS- és Windows-alapú fejlesztést. További információ: Az első függvény létrehozása a Visual Studio Code használatával. |
IntelliJ IDEA | A Maven archetype és a Core Tools segítségével az IntelliJ használatával fejlesztheti a függvényeket. További információ: Az első Java-függvény létrehozása az Azure-ban az IntelliJ használatával. |
Eclipse | A Maven archetípusa és a Core Tools segítségével az Eclipse használatával fejlesztheti a függvényeket. További információ: Az első Java-függvény létrehozása az Azure-ban az Ecplise használatával. |
Környezet | Leírás |
---|---|
Visual Studio Code | A Visual Studio Code Azure Functions-bővítménye függvénytámogatást ad a Visual Studio Code-hoz. Az alapvető eszközökre van szükség. Támogatja a linuxos, macOS- és Windows-alapú fejlesztést. További információ: Az első függvény létrehozása a Visual Studio Code használatával. |
Parancssor vagy terminál | Az Azure Functions Core Tools biztosítja az alapvető futtatókörnyezetet és a függvények létrehozásához szükséges sablonokat, amelyek lehetővé teszik a helyi fejlesztést. Támogatja a linuxos, macOS- és Windows-alapú fejlesztést. További információ: Node.js függvény létrehozása az Azure-ban a parancssorból. |
Környezet | Leírás |
---|---|
Visual Studio Code | A Visual Studio Code Azure Functions-bővítménye függvénytámogatást ad a Visual Studio Code-hoz. Az alapvető eszközökre van szükség. Támogatja a linuxos, macOS- és Windows-alapú fejlesztést. További információ: Az első függvény létrehozása a Visual Studio Code használatával. |
Parancssor vagy terminál | Az Azure Functions Core Tools biztosítja az alapvető futtatókörnyezetet és a függvények létrehozásához szükséges sablonokat, amelyek lehetővé teszik a helyi fejlesztést. Támogatja a linuxos, macOS- és Windows-alapú fejlesztést. További információ: PowerShell-függvény létrehozása az Azure-ban a parancssorból. |
Környezet | Leírás |
---|---|
Visual Studio Code | A Visual Studio Code Azure Functions-bővítménye függvénytámogatást ad a Visual Studio Code-hoz. Az alapvető eszközökre van szükség. Támogatja a linuxos, macOS- és Windows-alapú fejlesztést. További információ: Az első függvény létrehozása a Visual Studio Code használatával. |
Parancssor vagy terminál | Az Azure Functions Core Tools biztosítja az alapvető futtatókörnyezetet és a függvények létrehozásához szükséges sablonokat, amelyek lehetővé teszik a helyi fejlesztést. Támogatja a linuxos, macOS- és Windows-alapú fejlesztést. További információ: Python-függvény létrehozása az Azure-ban a parancssorból. |
Ezen helyi fejlesztési környezetek mindegyike lehetővé teszi függvényalkalmazás-projektek létrehozását, és előre definiált függvénysablonok használatával új függvényeket hozhat létre. Mindegyik a Core Toolst használja, hogy a függvényeket ugyanúgy tesztelhesse és hibakeresést végezze el a saját gépén, mint bármely más alkalmazásban. A függvényalkalmazás-projektet ezen környezetek bármelyikéből közzéteheti az Azure-ban.
Helyi projektfájlok
A Functions-projektkönyvtár a projekt gyökérmappájában található alábbi fájlokat tartalmazza, nyelvtől függetlenül:
Fájlnév | Leírás |
---|---|
host.json | További információ: host.json hivatkozás. |
local.settings.json | A Core Tools által helyi futtatáskor használt beállítások, beleértve az alkalmazásbeállításokat is. További információ: helyi beállítások fájlja. |
.gitignore | Megakadályozza, hogy a local.settings.json fájl véletlenül közzé legyen téve egy Git-adattárban. További információ: helyi beállítások fájlja. |
.vscode\extensions.json | A Projektmappa Visual Studio Code-ban való megnyitásakor használt beállításfájl. |
A projekt más fájljai a nyelvtől és az adott függvénytől függenek. További információkért tekintse meg a nyelv fejlesztői útmutatóját.
Local settings file (Helyi beállításfájl)
A local.settings.json
fájl tárolja a helyi fejlesztési eszközök által használt alkalmazásbeállításokat és beállításokat. A fájl beállításai local.settings.json
csak akkor használhatók, ha a projektet helyileg futtatja. Amikor közzéteszi a projektet az Azure-ban, mindenképpen adja hozzá a szükséges beállításokat a függvényalkalmazás alkalmazásbeállításaihoz.
Fontos
Mivel a local.settings.json
fájl titkokat, például kapcsolati sztringeket tartalmazhat, óvatosan járjon el, amikor a forráskód kezelőbe commitál. A Functionst támogató eszközök lehetővé teszik a local.settings.json
fájl beállításainak szinkronizálását abban a függvényalkalmazásban, amelyre a projektet üzembe helyezik.
A local.settings.json
fájl struktúrája a következő:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "<language worker>",
"AzureWebJobsStorage": "<connection-string>",
"MyBindingConnection": "<binding-connection-string>",
"AzureWebJobs.HttpExample.Disabled": "true"
},
"Host": {
"LocalHttpPort": 7071,
"CORS": "*",
"CORSCredentials": false
},
"ConnectionStrings": {
"SQLConnectionString": "<sqlclient-connection-string>"
}
}
Ezek a beállítások támogatottak a projektek helyi futtatásakor:
Beállítás | Leírás |
---|---|
IsEncrypted |
Ha ez a beállítás be van állítva true , a rendszer minden értéket helyi gépkulcsgal titkosít. A func settings parancsokkal használható. Az alapértelmezett érték false . Érdemes lehet titkosítani a local.settings.json fájlt a helyi számítógépen, ha érzékeny adatokat tartalmaz, mint például szolgáltatáskapcsolati karakterláncokat. A gazdagép futás közben automatikusan dekódolja a beállításokat. A helyileg titkosított beállítások olvasása előtt használja a func settings decrypt parancsot. |
Values |
A projekt helyi futtatásakor használt alkalmazásbeállítások gyűjteménye. Az Azure-beli függvényalkalmazásban az alkalmazás beállításait ezek a kulcs-érték párok (szöveg-szöveg) határozzák meg, mint például AzureWebJobsStorage . Számos eseményindító és kötés rendelkezik olyan tulajdonságokkal, amelyek egy kapcsolati sztring alkalmazásbeállításra hivatkoznak, például Connection a Blob Storage-eseményindítóhoz. Ezekhez a tulajdonságokhoz a tömbben Values definiált alkalmazásbeállításra van szükség. A gyakran használt beállítások listáját a következő táblázatban találja. Az értékeknek sztringeknek kell lenniük, nem pedig JSON-objektumoknak vagy tömböknek. A beállításnevek nem tartalmazhatnak dupla aláhúzást ( __ ), és nem tartalmazhatnak kettőspontot (: ). A kettős aláhúzásos karakterek a futtatókörnyezet által vannak lefoglalva, és a kettőspont a függőséginjektálás támogatására van fenntartva. |
Host |
Az ebben a szakaszban található beállítások testre szabják a Functions-gazdagép folyamatát, amikor helyileg futtat projekteket. Ezek a beállítások eltérnek a host.json beállításaitól, amelyek az Azure-beli projektek futtatásakor is érvényesek. |
LocalHttpPort |
Beállítja a helyi Functions-gazdagép (func host start és func run ) futtatásakor használt alapértelmezett portot. A --port parancssori beállítás elsőbbséget élvez ezzel a beállítással szemben. Ha például a Visual Studio IDE-ben fut, módosíthatja a portszámot a "Project Properties – Debug" (Projekttulajdonságok –> Hibakeresés) ablakra lépve, és explicit módon megadhatja a portszámot egy host start --port <your-port-number> olyan parancsban, amely az "Alkalmazásargumentumok" mezőben adható meg. |
CORS |
Meghatározza a forrásközi erőforrásmegosztáshoz (CORS) engedélyezett forrásokat. A forrásokat vesszővel elválasztott listaként, szóközök nélkül adja meg. A helyettesítő karakterek (*) értéke támogatott, ami lehetővé teszi a kéréseket bármilyen forrásból. |
CORSCredentials |
Ha be van állítva true , engedélyezi a withCredentials kéréseket. |
ConnectionStrings |
Gyűjtemény. Ne használja ezt a gyűjteményt a függvények kötéseihez szükséges kapcsolati karakterláncok tárolására. Ezt a gyűjteményt csak olyan keretrendszerek használják, amelyek általában a kapcsolati sztringeket egy konfigurációs fájl ConnectionStrings szakaszából kapják, például az Entity Framework. Az objektumban található kapcsolati sztringek a System.Data.SqlClient szolgáltatótípussal vannak hozzáadva a környezethez. A gyűjtemény elemei nem jelennek meg az Azure-ban más alkalmazásbeállításokkal. Ezeket az értékeket explicit módon kell hozzáadnia a Connection strings függvényalkalmazás beállításainak gyűjteményéhez. Ha a függvénykódban hoz létre egy SqlConnection értéket, a kapcsolati sztring értéket a többi kapcsolattal együtt kell tárolnia a portál Alkalmazásbeállítások lapján. |
A következő alkalmazásbeállítások vehetők fel a Values
tömbbe, amikor helyileg futtatják:
Beállítás | Értékek | Leírás |
---|---|---|
AzureWebJobsStorage |
Tárfiók kapcsolati karakterlánc vagyUseDevelopmentStorage=true |
Tartalmazza az Azure Storage-fiók kapcsolati sztringjét. HTTP-nek nem megfelelő eseményindítók használatakor szükséges. További információkért lásd a AzureWebJobsStorage hivatkozást.Ha az Azurite Emulator helyileg van telepítve, és be van állítva AzureWebJobsStorage UseDevelopmentStorage=true , a Core Tools az emulátort használja. További információ: Local Storage Emulator. |
AzureWebJobs.<FUNCTION_NAME>.Disabled |
true |false |
Ha helyileg szeretne letiltani egy függvényt, adja hozzá "AzureWebJobs.<FUNCTION_NAME>.Disabled": "true" a gyűjteményhez, ahol <FUNCTION_NAME> a függvény neve szerepel. További információ: Függvények letiltása az Azure Functionsben. |
FUNCTIONS_WORKER_RUNTIME |
dotnet dotnet-isolated node java powershell python |
A Functions-futtatókörnyezet célnyelvét jelzi. A Functions-futtatókörnyezet 2.x és újabb verziójához szükséges. Ezt a beállítást a Core Tools hozza létre a projekthez. További információkért tekintse meg a FUNCTIONS_WORKER_RUNTIME hivatkozást. |
FUNCTIONS_WORKER_RUNTIME_VERSION |
~7 |
Azt jelzi, hogy a PowerShell 7-et használja helyi futtatáskor. Ha nincs beállítva, a Rendszer a PowerShell Core 6-ot használja. Ezt a beállítást csak helyi futtatáskor használja a rendszer. A PowerShell-futtatókörnyezet verzióját a powerShellVersion webhelykonfigurációs beállítás határozza meg, amikor az Azure-ban fut, amely a portálon állítható be. |
Beállítások szinkronizálása
A függvények helyi fejlesztésekor az alkalmazás által igényelt helyi beállításoknak meg kell jelenniük annak a függvényalkalmazásnak az alkalmazásbeállításaiban is, amelyre a kód telepítve van. Előfordulhat, hogy le kell töltenie az aktuális beállításokat a függvényalkalmazásból a helyi projektbe. Bár manuálisan is konfigurálhatja az alkalmazásbeállításokat az Azure Portalon, az alábbi eszközök lehetővé teszik az alkalmazásbeállítások szinkronizálását a projekt helyi beállításaival is:
Eseményindítók és kötések
Amikor helyileg fejleszti a függvényeket, figyelembe kell vennie az eseményindítók és kötések viselkedését. HTTP-eseményindítók esetén meghívhatja a HTTP-végpontot a helyi számítógépen a használatával http://localhost/
. A nem HTTP által aktivált függvények esetében több lehetőség is van a helyi futtatásra:
- A helyi fejlesztés során a kötések tesztelésének legegyszerűbb módja az élő Azure-szolgáltatásokat célzó kapcsolati sztring használata. Az élő szolgáltatásokat úgy célozhatja meg, hogy hozzáadja a megfelelő kapcsolati sztring beállításokat a
Values
local.settings.json fájl tömbjében. Ha ezt teszi, a tesztelés során végzett helyi végrehajtások hatással lehetnek a gyártási szolgáltatásokra. Ehelyett fontolja meg külön szolgáltatások beállítását a fejlesztés és tesztelés során, majd váltson a különböző szolgáltatásokra az éles üzem során. - A tárolóalapú eseményindítókhoz használhat helyi tárolóemulátort.
- A nem HTTP-eseményindító függvényeket manuálisan is futtathatja speciális rendszergazdai végpontok használatával. További információ: Nem HTTP-aktivált függvény manuális futtatása.
A helyi tesztelés során szükséges helyben futtatnia a Core Tools (func.exe) által biztosított gazdagépet. További információ: Azure Functions Core Tools.
HTTP-teszteszközök
A fejlesztés során egyszerűen meghívhatja bármelyik függvényvégpontot egy webböngészőből, ha támogatják a HTTP GET metódust. A hasznos adatokat támogató egyéb HTTP-metódusok, például a POST vagy a PUT esetében azonban http-teszteszközt kell használnia ezeknek a HTTP-kéréseknek a függvényvégpontokhoz való létrehozásához és elküldéséhez.
Figyelemfelhívás
Olyan esetekben, amikor a kéréseknek bizalmas adatokat kell tartalmazniuk, mindenképpen használjon olyan eszközt, amely védi az adatokat, és csökkenti a bizalmas adatok nyilvános felfedésének kockázatát. A védeni kívánt bizalmas adatok közé tartozhatnak a hitelesítő adatok, titkos kódok, hozzáférési jogkivonatok, API-kulcsok, földrajzi helyadatok, sőt személyes adatok is.
Az adatok biztonságossá tételéhez válasszon olyan HTTP-teszteszközt, amely offline vagy helyileg működik, nem szinkronizálja az adatokat a felhőbe, és nem igényli az online fiókba való bejelentkezést. Bizonyos eszközök bizonyos biztonsági funkciók implementálásával megvédhetik az adatokat a véletlen expozíciótól.
Ne használjon olyan eszközöket, amelyek központilag tárolják a HTTP-kérések előzményeit (beleértve a bizalmas adatokat is), ne kövesse az ajánlott biztonsági eljárásokat, és ne tartsa tiszteletben az adatvédelmi szempontokat.
Fontolja meg az alábbi eszközök egyikének használatát a HTTP-kérések függvényvégpontokra történő biztonságos küldéséhez:
- Visual Studio Code a Visual Studio Marketplace bővítményével, például REST-ügyféllel
- PowerShell Invoke-RestMethod
- Microsoft Edge – Hálózati konzol eszköz
- Bruno
- curl
Helyi tárolóemulátor
A helyi fejlesztés során a helyi Azurite emulátort használhatja a függvények Azure Storage-kötésekkel (Queue Storage, Blob Storage és Table Storage) való teszteléséhez anélkül, hogy távoli tárolási szolgáltatásokhoz kellene csatlakoznia. Az Azurite integrálható a Visual Studio Code-tal és a Visual Studióval, és a parancssorból is futtathatja az npm használatával. További információ: Az Azurite emulátor használata helyi Azure Storage-fejlesztéshez.
A local.settings.json fájl gyűjteményében az Values
alábbi beállítás azt jelzi, hogy a helyi Functions-gazdagép az Azurite-ot használja az alapértelmezett AzureWebJobsStorage
kapcsolathoz:
"AzureWebJobsStorage": "UseDevelopmentStorage=true"
Ezzel a beállítási értékkel, bármelyik AzureWebJobsStorage
kapcsolatot használó Azure Storage-eseményindító vagy kötés az Azurite-hoz kapcsolódik, amikor helyben fut. Tartsa szem előtt ezeket a szempontokat a tárolóemuláció helyi végrehajtás során történő használatakor:
- Telepítenie és futtatnia kell az Azurite-t.
- Azt javasoljuk, hogy teszteljen egy tényleges tárolási kapcsolaton keresztül az Azure-szolgáltatásokhoz, mielőtt közzétesz az Azure-ban.
- A projekt közzétételekor ne tegye közzé a
AzureWebJobsStorage
beállítástUseDevelopmentStorage=true
. Az Azure-ban aAzureWebJobsStorage
beállításnak mindig annak a tárfióknak a kapcsolati karakterlánca kell lennie, amelyet a függvényalkalmazás használ. További információ:AzureWebJobsStorage
.
Kapcsolódó cikkek
- Ha többet szeretne megtudni a függvények Visual Studióval történő helyi fejlesztéséről, olvassa el az Azure Functions fejlesztése a Visual Studióval című témakört.
- Ha többet szeretne tudni a Függvények helyi fejlesztéséről a Visual Studio Code használatával Mac, Linux vagy Windows rendszerű számítógépen, olvassa el az Azure Functions fejlesztése a Visual Studio Code használatával című témakört.
- Ha többet szeretne megtudni a parancssorból vagy a terminálról származó függvények fejlesztéséről, olvassa el az Azure Functions Core Tools használata című témakört.