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.
Az Azure Functions Blob Storage-eseményindító korábbi verziói lekérdezik a tároló módosításait. A Blob Storage-bővítmény újabb verziói (5.x+) ehelyett egy Event Grid-esemény-előfizetést használnak a tárolón. Ez az esemény-előfizetés csökkenti a késést azáltal, hogy azonnal aktiválja a függvényt, amint változások történnek az előfizetett tárolóban.
Ez a cikk bemutatja, hogyan hozhat létre olyan függvényt, amely egy blob tárolóhoz való hozzáadásakor felmerülő események alapján fut. A Visual Studio Code-ot használja a helyi fejlesztéshez, és a kód érvényesítéséhez, mielőtt üzembe helyezené a projektet az Azure-ban.
- Eseményalapú Blob Storage-függvény létrehozása egy új projektben.
- Helyi ellenőrzés a Visual Studio Code-on az Azurite emulátor használatával.
- Hozzon létre egy blobtárolót egy új Azure-tárfiókban.
- Függvényalkalmazás létrehozása a Flex Consumption csomagban.
- Hozzon létre egy esemény-előfizetést az új blobtárolóhoz.
- A függvénykód üzembe helyezése és érvényesítése az Azure-ban.
Ez a cikk az Azure Functions Node.js programozási modelljének 4. verzióját támogatja.
Ez a cikk az Azure Functions Python programozási modelljének 2. verzióját támogatja.
Ez a cikk létrehoz egy C#-alkalmazást, amely izolált feldolgozó módban fut, amely támogatja a .NET 8.0-t.
Tipp.
Ez az oktatóanyag bemutatja, hogyan hozhat létre olyan alkalmazást, amely a Flex Consumption csomagon fut. A Rugalmas használat csomag csak a Blob Storage eseményalapú verzióját támogatja.
Előfeltételek
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Visual Studio Code az egyik támogatott platformon.
C#-bővítmény a Visual Studio Code-hoz.
Azure Functions-bővítmény a Visual Studio Code-hoz.
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Node.js 14.x vagy újabb.
node --versionA parancs használatával ellenőrizze a verziót.Visual Studio Code az egyik támogatott platformon.
A Visual Code Azure Functions-bővítménye. Ez a bővítmény telepíti az Azure Functions Core Toolst , amikor először futtatja helyileg a függvényeket.
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Visual Studio Code az egyik támogatott platformon.
A Visual Studio Code PowerShell-bővítménye.
A Visual Code Azure Functions-bővítménye.
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Az Azure Functions által támogatott Python-verziók. További információ: A Python telepítése.
Visual Studio Code az egyik támogatott platformon.
A Visual Code Azure Functions-bővítménye.
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
A Java fejlesztői készlet, 8-es, 11-es, 17-es vagy 21-es verzió (Linux).
Az Apache Maven 3.0-s vagy újabb verziója.
Visual Studio Code az egyik támogatott platformon.
A Visual Code Azure Functions-bővítménye.
- Azure Storage-bővítmény a Visual Studio Code-hoz.
Feljegyzés
A Visual Studio Code Azure Storage-bővítménye előzetes verzióban érhető el.
Blob által aktivált függvény létrehozása
Amikor Blob Storage-eseményindító függvényt hoz létre a Visual Studio Code használatával, egy új projektet is létrehoz. A függvényt úgy kell szerkesztenie, hogy egy esemény-előfizetést használjon forrásként a szokásos lekérdezett tároló használata helyett.
A Visual Studio Code-ban nyomja le az F1 billentyűt a parancskatalógus megnyitásához, írja be
Azure Functions: Create Function..., majd válassza az Új projekt létrehozása lehetőséget.A projekt-munkaterületen válasszon egy könyvtárhelyet. Győződjön meg arról, hogy létrehoz egy új mappát, vagy kiválaszt egy üres mappát a projekt-munkaterülethez.
Ne válasszon olyan projektmappát, amely már része egy munkaterületnek.
A parancssorban adja meg a következő információkat:
Felszólítás Művelet Nyelv kiválasztása Válassza ki C#..NET-futtatókörnyezet kiválasztása Válassza ki .NET 8.0 Isolated LTS.Sablon kiválasztása a projekt első függvényéhez Válassza ki Azure Blob Storage trigger (using Event Grid).Függvénynév megadása Írja be EventGridBlobTrigger.Névtér megadása Írja be My.Functions.Válassza ki a beállítást a "local.settings.json" elemből Válassza ki Create new local app setting.Előfizetés kiválasztása Szükség esetén válassza ki az előfizetést. Tárfiók kiválasztása Használja az Azurite emulátort a helyi tároláshoz. A tárfiók azon elérési útja, amelyet az eseményindító figyelni fog Fogadja el az alapértelmezett értéket samples-workitems.Válassza ki, hogyan szeretné megnyitni a projektet Válassza ki Open in current window.Felszólítás Művelet Nyelv kiválasztása Válassza ki Python.Python-programozási modell kiválasztása A következők szerint válasszon: Model V2Python-értelmező kiválasztása virtuális környezet létrehozásához Válassza ki az előnyben részesített Python-értelmezőt. Ha egy lehetőség nem jelenik meg, adja meg a Python-bináris teljes elérési útját. Sablon kiválasztása a projekt első függvényéhez Válassza ki Blob trigger. (Az eseményalapú sablon még nem érhető el.)Függvénynév megadása Írja be EventGridBlobTrigger.A tárfiók azon elérési útja, amelyet az eseményindító figyelni fog Fogadja el az alapértelmezett értéket samples-workitems.Válassza ki a beállítást a "local.settings.json" elemből Válassza ki Create new local app setting.Előfizetés kiválasztása Szükség esetén válassza ki az előfizetést. Tárfiók kiválasztása Használja az Azurite emulátort a helyi tároláshoz. Válassza ki, hogyan szeretné megnyitni a projektet Válassza ki Open in current window.Felszólítás Művelet Nyelv kiválasztása Válassza ki Java.Java-verzió kiválasztása Válassza ki vagy Java 11válassza kiJava 8azt a Java-verziót, amelyen a függvények futnak az Azure-ban, és amelyet helyileg ellenőrzött.Csoportazonosító megadása Válassza ki com.function.Összetevő-azonosító megadása Válassza ki EventGridBlobTrigger(vagy az alapértelmezett).Verzió megadása Válassza ki 1.0-SNAPSHOT.Adja meg a csomag nevét Válassza ki com.function.Alkalmazásnév megadása Fogadja el a létrehozott nevet a következővel kezdődően EventGridBlobTrigger: .A Java-projekt buildelési eszközének kiválasztása Válassza ki Maven.Válassza ki, hogyan szeretné megnyitni a projektet Válassza ki Open in current window.Létrejön egy HTTP-aktivált függvény (
HttpExample) az Ön számára. Ezt a függvényt nem fogja használni, ehelyett létre kell hoznia egy új függvényt.Felszólítás Művelet A függvényprojekt nyelvének kiválasztása Válassza ki TypeScript.TypeScript programozási modell kiválasztása Válassza ki Model V4.Sablon kiválasztása a projekt első függvényéhez Válassza ki Azure Blob Storage trigger (using Event Grid).Függvénynév megadása Írja be EventGridBlobTrigger.Válassza ki a beállítást a "local.settings.json" elemből Válassza ki Create new local app setting.Előfizetés kiválasztása Szükség esetén válassza ki az előfizetést. Tárfiók kiválasztása Használja az Azurite emulátort a helyi tároláshoz. A tárfiók azon elérési útja, amelyet az eseményindító figyelni fog Fogadja el az alapértelmezett értéket samples-workitems.Válassza ki, hogyan szeretné megnyitni a projektet Válassza ki Open in current window.Felszólítás Művelet A függvényprojekt nyelvének kiválasztása Válassza ki JavaScript.JavaScript-programozási modell kiválasztása Válassza ki Model V4.Sablon kiválasztása a projekt első függvényéhez Válassza ki Azure Blob Storage trigger (using Event Grid).Függvénynév megadása Írja be eventGridBlobTrigger.Válassza ki a beállítást a "local.settings.json" elemből Válassza ki Create new local app setting.Előfizetés kiválasztása Szükség esetén válassza ki az előfizetést. Tárfiók kiválasztása Használja az Azurite emulátort a helyi tároláshoz. A tárfiók azon elérési útja, amelyet az eseményindító figyelni fog Fogadja el az alapértelmezett értéket samples-workitems.Válassza ki, hogyan szeretné megnyitni a projektet Válassza ki Open in current window.Felszólítás Művelet A függvényprojekt nyelvének kiválasztása Válassza ki PowerShell.Sablon kiválasztása a projekt első függvényéhez Válassza ki Azure Blob Storage trigger (using Event Grid).Függvénynév megadása Írja be EventGridBlobTrigger.Válassza ki a beállítást a "local.settings.json" elemből Válassza ki Create new local app setting.Előfizetés kiválasztása Szükség esetén válassza ki az előfizetést. Tárfiók kiválasztása Használja az Azurite emulátort a helyi tároláshoz. A tárfiók azon elérési útja, amelyet az eseményindító figyelni fog Fogadja el az alapértelmezett értéket samples-workitems.Válassza ki, hogyan szeretné megnyitni a projektet Válassza ki Open in current window.
A parancskatalógusban adja meg
Azure Functions: Create Function...és válassza aEventGridBlobTriggerlehetőséget. Ha nem látja ezt a sablont, először válassza a Sablonszűrő>módosítása lehetőséget.A parancssorban adja meg a következő információkat:
Felszólítás Művelet Adja meg a csomag nevét Válassza ki com.function.Függvénynév megadása Írja be EventGridBlobTrigger.Válassza ki a beállítást a "local.settings.json" elemből Válassza ki Create new local app setting.Előfizetés kiválasztása Válassza ki előfizetését. Tárfiók kiválasztása Használja az Azurite emulátort a helyi tároláshoz. A tárfiók azon elérési útja, amelyet az eseményindító figyelni fog Fogadja el az alapértelmezett értéket samples-workitems.
Most már rendelkezik egy olyan függvénnyel, amelyet egy Blob Storage-tároló eseményei aktiválhatnak.
Az eseményindító forrásának frissítése
Az eseményindító forrását az alapértelmezett Blob-eseményindító forrásról (tároló-lekérdezésről) egy eseményelőfizetési forrásra kell váltania.
Nyissa meg a function_app.py projektfájlt. Megjelenik a függvény definíciója a
EventGridBlobTriggerblob_triggerdekoratőrrel.Frissítse a dekoratőrt a hozzáadással
source = "EventGrid". A függvénynek így kell kinéznie:@app.blob_trigger(arg_name="myblob", source="EventGrid", path="samples-workitems", connection="<STORAGE_ACCOUNT>") def EventGridBlobTrigger(myblob: func.InputStream): logging.info(f"Python blob trigger function processed blob" f"Name: {myblob.name}" f"Blob Size: {myblob.length} bytes")Ebben a definícióban a
source = "EventGrid"jelzi, hogy asamples-workitemsblobtároló esemény-előfizetését használják, mint az eseményt kiváltó esemény forrása.
(Nem kötelező) A kód áttekintése
Nyissa meg a létrehozott EventGridBlobTrigger.cs fájlt. Az alábbihoz hasonló függvény definíciója EventGridBlobTrigger jelenik meg:
[Function(nameof(EventGridBlobTriggerCSharp))]
public async Task Run([BlobTrigger("PathValue/{name}", Source = BlobTriggerSource.EventGrid, Connection = "ConnectionValue")] Stream stream, string name)
{
using var blobStreamReader = new StreamReader(stream);
var content = await blobStreamReader.ReadToEndAsync();
_logger.LogInformation("C# Blob Trigger (using Event Grid) processed blob\n Name: {name} \n Data: {content}", name, content);
}
Ebben a definícióban Source = BlobTriggerSource.EventGrid azt jelzi, hogy a blobtároló esemény-előfizetése (a példában PathValue) a triggereket indító esemény forrása.
Nyissa meg a létrehozott EventGridBlobTrigger.java fájlt. Egy EventGridBlobTrigger függvény definícióját láthatja, amely valahogy így néz ki:
@FunctionName("EventGridBlobTrigger")
@StorageAccount("<STORAGE_ACCOUNT>")
public void run(
@BlobTrigger(name = "content", source = "EventGrid", path = "samples-workitems/{name}", dataType = "binary") byte[] content,
@BindingName("name") String name,
final ExecutionContext context
) {
context.getLogger().info("Java Blob trigger function processed a blob. Name: " + name + "\n Size: " + content.length + " Bytes");
}
Ebben a definícióban azt jelzi, source = EventGrid hogy a samples-workitems blobtároló esemény-előfizetése annak az eseménynek a forrása, amely elindítja az eseményindítót.
Nyissa meg a fájlt a EventGridBlobTrigger mappában, és keressen egy ilyen function.json kötésdefiníciót typeblobTriggera következővelsource:EventGrid
{
"bindings": [
{
"name": "InputBlob",
"type": "blobTrigger",
"direction": "in",
"path": "samples-workitems/{name}",
"source": "EventGrid",
"connection":""
}
]
}
Ez path azt jelzi, hogy a samples-workitems blobtároló az eseményindítót elindító esemény forrása.
Nyissa meg a létrehozott EventGridBlobTrigger.js fájlt. Az alábbihoz hasonló függvény definíciója jelenik meg:
const { app } = require('@azure/functions');
app.storageBlob('storageBlobTrigger1', {
path: 'samples-workitems/{name}',
connection: 'MyStorageAccountAppSetting',
source: 'EventGrid',
handler: (blob, context) => {
context.log(
`Storage blob function processed blob "${context.triggerMetadata.name}" with size ${blob.length} bytes`
);
},
});
Ebben a definícióban a sourceEventGrid azt jelzi, hogy a samples-workitems blobtárolóhoz tartozó esemény-előfizetés az az eseményforrás, amely elindítja a trigger működését.
Nyissa meg a létrehozott EventGridBlobTrigger.ts fájlt. Az alábbihoz hasonló függvény definíciója jelenik meg:
import { app, InvocationContext } from '@azure/functions';
export async function storageBlobTrigger1(blob: Buffer, context: InvocationContext): Promise<void> {
context.log(
`Storage blob function processed blob "${context.triggerMetadata.name}" with size ${blob.length} bytes`
);
}
app.storageBlob('storageBlobTrigger1', {
path: 'samples-workitems/{name}',
connection: 'MyStorageAccountAppSetting',
source: 'EventGrid',
handler: storageBlobTrigger1,
});
Ebben a definícióban a source a EventGrid azt jelzi, hogy a samples-workitems blobtárolóra történő esemény-előfizetés az eseményt, amely az aktiválót indítja, annak forrásaként szolgál.
A Storage-bővítmény frissítése
Az Event Grid-alapú Blob Storage-eseményindító használatához az Azure Functions Storage bővítmény 5.x vagy újabb verziójára van szükség.
Ha frissíteni szeretné a projektet a szükséges bővítményverzióra, futtassa ezt dotnet add package a parancsot a terminálablakban:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs
Nyissa meg a
host.jsonprojektfájlt, és tekintse át azextensionBundleelemet.Ha
extensionBundle.versionnem,3.3.0cserélje le az elemet aextensionBundlekövetkező verzióra:"extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[4.0.0, 5.0.0)" }
Helyi tárolóemuláció előkészítése
A Visual Studio Code az Azurite használatával emulálja az Azure Storage-szolgáltatásokat helyi futtatáskor. Az Azurite használatával emulálhatja az Azure Blob Storage szolgáltatást a helyi fejlesztés és tesztelés során.
Ha még nem tette meg, telepítse a Visual Studio Code Azurite v3-bővítményét.
Ellenőrizze, hogy a local.settings.json fájlban a
"UseDevelopmentStorage=true"érték be van-e állítva a(z)AzureWebJobsStoragerészére. Ez a beállítás arra utasítja a Core Toolst, hogy valós tárfiók-kapcsolat helyett az Azurite-ot használja helyi futtatáskor.Nyomja le az F1 billentyűt a parancskatalógus megnyitásához, írja be
Azurite: Start Blob Service, majd nyomja le az Enter billentyűt. Ez a művelet elindítja az Azurite Blob Storage szolgáltatás emulátorát.Válassza az Azure ikont a Tevékenységsávon, bontsa ki a Munkaterülethez>>, kattintson a jobb gombbal a BlobTárolók elemre, válassza a Blobtároló létrehozása... lehetőséget, írja be a nevet, és nyomja le az Enter billentyűt.
Bontsa ki a Blob Containers>samples-workitems elemet, és válassza a Fájlok feltöltése... lehetőséget.
Válasszon ki egy fájlt, amelyet fel szeretne tölteni a helyileg emulált tárolóba. A függvény később feldolgozza ezt a fájlt a függvénykód ellenőrzéséhez és hibakereséséhez. Előfordulhat, hogy egy szövegfájl a legjobban működik a Blob-eseményindító sablonkódjával.
Függvény helyi futtatása
Az emulált tárolóban lévő fájlokkal futtathatja a függvényt egy Event Grid-előfizetés által kiváltott esemény szimulálásához. Az eseményindítónak átadott eseményadatok a helyi tárolóhoz hozzáadott fájltól függenek.
Állítson be töréspontokat, és nyomja le az F5 billentyűt a projekt helyi hibakereséshez való elindításához. Az Azure Functions Core Toolsnak a terminálablakban kell futnia.
Az Azure-területen bontsa ki , kattintson a jobb gombbal a függvényre, és válassza a >
A kérelem törzsének párbeszédpanelén írja be
samples-workitems/<TEST_FILE_NAME><TEST_FILE_NAME>a helyi táremulátorba feltöltött fájl nevét.A függvény futtatásához nyomja le az Enter billentyűt. A megadott érték a blob elérési útja a helyi emulátorban. Ezt a sztringet a rendszer a kérelem hasznos adatai között adja át az eseményindítónak, amely szimulálja a hasznos adatokat, amikor egy esemény-előfizetés meghívja a függvényt, hogy jelentse a tárolóhoz hozzáadott blobot.
Tekintse át a függvény végrehajtásának kimenetét. A kimenetben látnia kell a fájl nevét és a naplózott tartalmát. Ha töréspontokat állít be, előfordulhat, hogy folytatnia kell a végrehajtást.
Most, hogy sikeresen ellenőrizte a függvénykódot helyileg, ideje közzétenni a projektet egy új függvényalkalmazásban az Azure-ban.
Az Azure Storage-fiók előkészítése
Az Azure Storage-ra való esemény-előfizetésekhez általános célú v2-tárfiókra van szükség. Ezt a tárfiókot a Visual Studio Code Azure Storage-bővítményével hozhatja létre.
A Visual Studio Code-ban nyomja le az F1 billentyűt a parancskatalógus megnyitásához és a beíráshoz
Azure Storage: Create Storage Account.... Adja meg ezt az információt, amikor a rendszer kéri:Felszólítás Művelet Adja meg az új tárfiók nevét Adjon meg egy globálisan egyedi nevet. A tárfiókok nevének 3–24 karakter hosszúságúnak kell lennie, csak kisbetűkkel és számokkal. A könnyebb azonosítás érdekében használja ugyanazt a nevet az erőforráscsoporthoz és a függvényalkalmazás nevéhez. Új erőforrások helyének kiválasztása A jobb teljesítmény érdekében válasszon egy Önhöz közeli régiót. A bővítmény létrehoz egy általános célú v2-tárfiókot az Ön által megadott névvel. Ugyanezt a nevet használja a tárfiókot tartalmazó erőforráscsoport is. Az Event Grid-alapú Blob Storage-eseményindítóhoz általános célú v2-tárfiók szükséges.
Nyomja le ismét az F1 billentyűt, és írja be a parancskatalógusba
Azure Storage: Create Blob Container.... Adja meg ezt az információt, amikor a rendszer kéri:Felszólítás Művelet Erőforrás kiválasztása Válassza ki a létrehozott általános célú v2-tárfiókot. Adja meg az új blobtároló nevét Adja meg samples-workitemsa kódprojektben hivatkozott tárolónevet.
A függvényalkalmazás futtatásához egy tárfiókra is szükség van. Az egyszerűség kedvéért ez az oktatóanyag ugyanazt a tárfiókot használja a blob-eseményindítóhoz és a függvényalkalmazáshoz. Éles környezetben azonban érdemes lehet külön tárfiókot használni a függvényalkalmazással. További információért lásd az Azure Functions tárolási szempontjait.
A függvényalkalmazás létrehozása
Az alábbi lépésekkel függvényalkalmazást hozhat létre a Rugalmas használat csomagban. Ha rugalmas használatú csomagban üzemelteti az alkalmazást, a Blob Storage-eseményindítóknak esemény-előfizetéseket kell használniuk.
A parancspalettában adja meg a(z) Azure Functions: Függvényalkalmazás létrehozása az Azure-ban (haladó) parancsot.
Kövesse az utasításokat, és adja meg ezt az információt:
Felszólítás Kiválasztás Adja meg az új függvényalkalmazás globálisan egyedi nevét Írjon be egy globálisan egyedi nevet, amely azonosítja az új függvényalkalmazást, majd válassza az Enter lehetőséget. A függvényalkalmazás nevéhez használható érvényes karakterek a következők: a-z,0-9és-.Üzemeltetési csomag kiválasztása Válassza a Rugalmas használat lehetőséget, amely a kiszolgáló nélküli üzemeltetéshez ajánlott üzemeltetési csomag . Új erőforrások helyének kiválasztása Válasszon ki egy helyet egy Önhöz közeli régióban vagy a függvények által elérhető egyéb szolgáltatások közelében. Futtatókörnyezeti verem kiválasztása Válassza ki a helyileg futtatott nyelvi verziót. Példányméret kiválasztása Válassza az 512-et. A példány méretbeállítását később bármikor módosíthatja nagyobb méretre. Adja meg a példányok maximális számát Válassza ki az alapértelmezett 100 értéket, amely korlátozza az alkalmazás teljes felskálázását. Másik értéket is választhat 40 és 1000 között. Erőforráscsoport kiválasztása Válassza az Új erőforráscsoport létrehozása lehetőséget, és fogadja el az alapértelmezett értéket, vagy adjon meg egy másik nevet az előfizetésében egyedi új csoportnak. Erőforrás-hitelesítés típusának kiválasztása Válassza ki a felügyelt identitást , hogy az alkalmazás a kevésbé biztonságos megosztott titkos kódok (kapcsolati sztringek és kulcsok) helyett a Microsoft Entra ID-hitelesítéssel csatlakozzon a távoli erőforrásokhoz. Felhasználó által hozzárendelt identitás kiválasztása Válassza az Új felhasználó által hozzárendelt identitás létrehozása lehetőséget. Új erőforrások helyének kiválasztása Válassza ki ugyanazt a régiót, mint a létrehozott tárfiókot. Ha valamilyen okból ezt a régiót nem támogatja a Flex Consumption játék, akkor az nem jelenik meg. Ebben az esetben válasszon inkább egy közeli régiót . További információ: Jelenleg támogatott régiók megtekintése. Tárfiók kiválasztása Válassza ki a létrehozott tárfiók nevét. Application Insights-erőforrás kiválasztása az alkalmazáshoz Válassza az Új Application Insights-erőforrás létrehozása lehetőséget, és a parancssorban adja meg a futtatókörnyezet adatainak a függvényekből való tárolásához használt példány nevét. A függvényalkalmazás létrehozása után megjelenik egy értesítés. Az értesítésben válassza a Kimenet megtekintése lehetőséget a létrehozási eredmények megtekintéséhez, beleértve a létrehozott Azure-erőforrásokat is.
A függvénykód létrehozása
Fontos
A meglévő függvényalkalmazásban való üzembe helyezés mindig felülírja az alkalmazás tartalmát az Azure-ban.
A parancskatalógusban adja meg, majd válassza az Azure Functions: Üzembe helyezés függvényalkalmazásban lehetőséget.
Válassza ki az imént létrehozott függvényalkalmazást. Amikor a rendszer kéri a korábbi üzemelő példányok felülírását, válassza az Üzembe helyezés lehetőséget a függvénykód új függvényalkalmazás-erőforrásban való üzembe helyezéséhez.
Az üzembe helyezés befejezésekor válassza a Kimenet megtekintése lehetőséget a létrehozási és üzembe helyezési eredmények megtekintéséhez, beleértve a létrehozott Azure-erőforrásokat is. Ha nem jelenik meg az értesítés, a jobb alsó sarokban lévő harang ikont választva ismét láthatja.
Alkalmazásbeállítások frissítése
Mivel a közzétételi folyamat nem tölti fel automatikusan a szükséges alkalmazásbeállításokat a local.settings.json fájlból, fel kell töltenie őket a függvényalkalmazásba, hogy a függvény megfelelően fusson az Azure-ban.
Írja be a parancskatalógusba
Azure Functions: Download Remote Settings..., majd az Erőforrás kiválasztása párbeszédpanelen válassza ki a függvényalkalmazás nevét.Amikor a rendszer kéri, hogy a beállítás már létezik, válassza az
AzureWebJobsStorageIgen lehetőséget a helyi emulátor beállítás felülírásához az Azure-ból kapcsolati sztring tényleges tárfiókkal.A fájlban
local.settings.jsoncserélje le a helyi emulátorbeállítást ugyanazzal a kapcsolati sztring, mint amilyet használ.AzureWebJobsStorageTávolítsa el a
FUNCTIONS_WORKER_RUNTIMEbejegyzést, amely nem támogatott a Rugalmas kihasználtságú csomagban.Írja be a parancskatalógusba
Azure Functions: Upload Local Settings..., majd az Erőforrás kiválasztása párbeszédpanelen válassza ki a függvényalkalmazás nevét.
Most a Functions-gazdagép és az eseményindító is ugyanazt a tárfiókot használja.
A végpont URL-címének létrehozása
Esemény-előfizetés létrehozásához meg kell adnia az Event Gridnek az adott végpont URL-címét a Blob Storage-események jelentéséhez. Ez a blobbbővítmény URL-címe a következő részekből áll:
| Rész | Példa |
|---|---|
| Alapfüggvényalkalmazás URL-címe | https://<FUNCTION_APP_NAME>.azurewebsites.net |
| Blobspecifikus elérési út | /runtime/webhooks/blobs |
| Függvény lekérdezési sztringje | ?functionName=Host.Functions.<FUNCTION_NAME> |
| Blobbbővítmény hozzáférési kulcsa | &code=<BLOB_EXTENSION_KEY> |
Bár az alkalmazás Microsoft Entra ID-hitelesítéssel csatlakozik a tárfiókhoz, a blobbbővítmény hozzáférési kulcsa segít megvédeni a blobbbővítmény webhookját a jogosulatlan hozzáféréstől. A blobbbővítmény hozzáférési kulcsának megkeresése:
A Visual Studio Code-ban válassza az Azure ikont a Tevékenységsávon. Az Erőforrások területen bontsa ki előfizetését, bontsa ki a Függvényalkalmazást, kattintson a jobb gombbal a létrehozott függvényalkalmazásra, és válassza a Megnyitás a portálon lehetőséget.
A bal oldali menü Függvények területén válassza az Alkalmazáskulcsok lehetőséget.
A Rendszerkulcsok területen válassza ki a blobs_extension nevű kulcsot, és másolja ki a kulcs értékét.
Adja meg ezt az értéket az új végpont URL-címének lekérdezési sztringjében.
Hozzon létre egy új végpont URL-címet a Blob Storage-eseményindítóhoz az alábbi példa alapján:
https://<FUNCTION_APP_NAME>.azurewebsites.net/runtime/webhooks/blobs?functionName=Host.Functions.EventGridBlobTrigger&code=<BLOB_EXTENSION_KEY>Ebben a példában cserélje le
<FUNCTION_APP_NAME>a függvényalkalmazás nevét és<BLOB_EXTENSION_KEY>a portálról kapott értéket. Ha más nevet használt a függvényhez, cserélje leEventGridBlobTriggerezt a függvénynevet.
Most már használhatja ezt a végponti URL-címet egy esemény-előfizetés létrehozásához.
Az esemény-előfizetés létrehozása
Az Azure Event Grid által üzemeltetett esemény-előfizetés az előfizetett blobtároló változásai alapján hoz létre eseményeket. Ezt az eseményt ezután elküldi a függvény blobbbővítmény-végpontjának. Esemény-előfizetés létrehozása után nem frissítheti a végpont URL-címét.
A Visual Studio Code-ban válassza az Azure ikont a Tevékenységsávon. Az Erőforrások területen bontsa ki előfizetését, bontsa ki a Tárfiókokat, kattintson a jobb gombbal a korábban létrehozott tárfiókra, és válassza a Megnyitás a portálon lehetőséget.
Jelentkezzen be az Azure Portalra , és jegyezze fel a tárfiók erőforráscsoportját . Hozza létre a többi erőforrást ugyanabban a csoportban, hogy egyszerűbben törölhesse az erőforrásokat, amikor elkészült.
Válassza az Események lehetőséget a bal oldali menüben.
Az Események ablakban válassza az + Esemény-előfizetés gombot, és adja meg az alábbi táblázat értékeit az Alapszintű lapra:
Beállítás Ajánlott érték Leírás Név myBlobEventSub Az esemény-előfizetést azonosító név. A névvel gyorsan megtalálhatja az esemény-előfizetést. Eseményséma Event Grid-séma Használja az alapértelmezett sémát az eseményekhez. Rendszertémakör neve samples-workitems-blobs A témakör neve, amely a tárolót jelöli. A témakör az első előfizetéssel jön létre, és a jövőbeli esemény-előfizetések során használható. Szűrés eseménytípusokra Blob létrehozva Végpont típusa Webes horog A Blob Storage-eseményindító webhookvégpontot használ. Végpont Az Azure-alapú URL-végpont Használja a létrehozott URL-végpontot, amely tartalmazza a kulcs értékét. Válassza a Kijelölés megerősítése lehetőséget a végpont URL-címének érvényesítéséhez.
Válassza a Szűrők lapot, és adja meg a következő információkat a kéréseknek:
Beállítás Ajánlott érték Leírás Tárgyszűrés engedélyezése Engedélyezve Lehetővé teszi a szűrést, amelyen a blobok aktiválhatják a függvényt. A tárgy kezdőbetűje: /blobServices/default/containers/<CONTAINER_NAME>/blobs/<BLOB_PREFIX>Cserélje le <CONTAINER_NAMEés<BLOB_PREFIX>adja meg a választott értékeket. Ez a beállítás csak azon blobok előfizetését aktiválja, amelyekBLOB_PREFIX-vel kezdődnek és aCONTAINER_NAMEtárolóban vannak.Tárgy vége: .Txt Biztosítja, hogy a függvény csak a .txt-re végződő blobok által legyen aktiválva.Az adott blobokra való szűrésről további információt az Azure Event Hubs eseményszűrésében talál.
Válassza a Létrehozás lehetőséget az esemény-előfizetés létrehozásához.
Fájl feltöltése a tárolóba
A Visual Studio Code használatával feltölthet egy fájlt a számítógépről a blobtárolóba.
A Visual Studio Code-ban nyomja le az F1 billentyűt a parancskatalógus megnyitásához és beírásához
Azure Storage: Upload Files....A Megnyitás párbeszédpanelen válasszon ki egy fájlt, lehetőleg egy szövegfájlt, és válassza a Feltöltés lehetőséget.
Amikor a rendszer kéri, adja meg az alábbi információkat:
Beállítás Ajánlott érték Leírás Adja meg a feltöltés célkönyvtárát alapértelmezett Fogadja el a tárológyökér alapértelmezett értékét /.Erőforrás kiválasztása Tárfiók neve Válassza ki az előző lépésben létrehozott tárfiók nevét. Erőforrástípus kiválasztása Blobtárolók Blobtárolóba tölt fel. Blobtároló kiválasztása samples-workitems Ez az érték az előző lépésben létrehozott tároló neve.
Tallózással keresse meg a helyi fájlrendszerben a feltöltendő fájlt, majd a Feltöltés gombra kattintva töltse fel a fájlt.
A függvény ellenőrzése az Azure-ban
Amikor feltölt egy fájlt a samples-workitems tárolóba, a függvény aktiválódik. A függvény ellenőrzéséhez ellenőrizze az alábbi elemeket az Azure Portalon:
A tárfiókban lépjen az Események lapra, válassza az Esemény-előfizetések lehetőséget, és látnia kell, hogy egy esemény kézbesítve lett. Az esemény legfeljebb öt perces késéssel jelenhet meg a diagramon.
A függvényalkalmazás portálon lévő lapjára visszatérve a Függvények területen keresse meg a függvényt, és válassza az Invocations és egyebek lehetőséget. A sikeres függvényvégrehajtásból származó nyomkövetéseket kell látnia.
Az erőforrások eltávolítása
Ha folytatja a következő lépést , és hozzáad egy Azure Storage-üzenetsor-kötést a függvényhez, az összes erőforrást helyben kell tartania ahhoz, hogy a már elvégzett adatokra építkezhessenek.
Ellenkező esetben az alábbi lépésekkel törölheti a függvényalkalmazást és annak kapcsolódó erőforrásait, hogy elkerülje a további költségek felmerülését.
A Visual Studio Code-ban nyomja le az F1 billentyűt a parancskatalógus megnyitásához. A parancskatalógusban keresse meg és válassza ki a kívánt parancsot
Azure: Open in portal.Válassza ki a függvényalkalmazást, és nyomja le az Enter billentyűt. Megnyílik a függvényalkalmazás lapja az Azure Portalon.
Az Áttekintés lapon válassza az Erőforráscsoport melletti elnevezett hivatkozást.
Az Erőforráscsoport lapon tekintse át a belefoglalt erőforrások listáját, és ellenőrizze, hogy ezek-e törölni kívánt erőforrások.
Válassza az Erőforráscsoport törlése elemet, majd kövesse az utasításokat.
A törlés eltarthat néhány percig. Amint a művelet befejeződött, néhány másodpercre egy értesítés jelenik meg. Az értesítést úgy is megtekintheti, ha kiválasztja a harang ikont az oldal tetején.
A Functions-költségekkel kapcsolatos további információkért tekintse meg a használati terv költségeinek becslését.