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 új Azure Queue Storage-üzenetek létrehozásakor futtatható, és üzenetsor-üzeneteket írhat egy függvényen belül.
| Művelet | Típus |
|---|---|
| Függvény futtatása várólistán tárolt adatok módosításaként | Eseményindító |
| Üzenetsor-tárolóüzenetek írása | Kimeneti kötés |
A bővítmény telepítése
A telepített NuGet-csomag a függvényalkalmazásban használt C# módtól függ:
A függvények izolált C# feldolgozói folyamatban futnak. További információ: Útmutató a C# Azure Functions izolált feldolgozói folyamatban való futtatásához.
A bővítmény funkciói a bővítmény verziójától függően változnak:
Ez a verzió lehetővé teszi, hogy titkos kulcs helyett identitással csatlakozzon. 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.
Ez a verzió lehetővé teszi az Azure.Storage.Queues-ból származó típusok kötését.
Ez a verzió támogatja az eseményindítók és kötések konfigurálását a .NET Aspire integráción keresztül.
Adja hozzá a bővítményt a projekthez az 5.x-es verziójú NuGet-csomag telepítésével.
A .NET parancssori felületének használata:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues
Feljegyzés
Az Azure Blobs, az Azure Queues és az Azure Tables mostantól külön bővítményeket használ, és külön-külön hivatkoznak gombra. Ha például az eseményindítókat és kötéseket az izolált .NET-alkalmazás mindhárom szolgáltatásához szeretné használni, a következő csomagokat kell hozzáadnia a projekthez:
- Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs
- Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues
- Microsoft.Azure.Functions.Worker.Extensions.Tables
Korábban a Microsoft.Azure.Functions.Worker.Extensions.Storage 4.x verziójú bővítmények együtt szállították. Ugyanez a csomag egy 5.x verzióval is rendelkezik, amely csak a blobok és üzenetsorok osztott csomagjaira hivatkozik. A csomaghivatkozások régebbi verziókról való frissítésekor ezért előfordulhat, hogy az új Microsoft.Azure.Functions.Worker.Extensions.Tables NuGet csomagra is hivatkoznia kell. Az újabb felosztott csomagokra való hivatkozáskor győződjön meg arról is, hogy nem hivatkozik a kombinált tárolócsomag régebbi verziójára, mivel ez ütközéseket eredményez ugyanazon kötések két definíciójából.
Csomag telepítése
Ha használni szeretné ezt a kötéskiterjesztést az alkalmazásban, győződjön meg arról, hogy a projekt gyökerében található host.json fájl tartalmazza a extensionBundle következő hivatkozást:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Ebben a példában az version érték [4.0.0, 5.0.0) arra utasítja a Functions-gazdagépet, hogy 4.0.0 legalább, de annál kisebb 5.0.0csomagverziót használjon, amely tartalmazza a 4.x összes lehetséges verzióját. Ez a jelölés hatékonyan fenntartja az alkalmazást a v4.x bővítménycsomag legújabb elérhető alverzióján.
Ha lehetséges, a legújabb bővítménycsomag főverziót kell használnia, és engedélyeznie kell, hogy a futtatókörnyezet automatikusan fenntartsa a legújabb alverziót. A legújabb csomag tartalmát a bővítménykötegek kiadási oldalán tekintheti meg. További információ: Azure Functions-bővítménykötegek.
Kötéstípusok
A .NET-hez támogatott kötéstípusok a bővítményverziótól és a C# végrehajtási módtól is függenek, ami az alábbiak egyike lehet:
A C# függvényt lefordított izolált feldolgozói folyamatosztály-kódtár a futtatókörnyezettől elkülönített folyamatban fut.
Válasszon ki egy verziót a mód és a verzió kötéstípusának részleteinek megtekintéséhez.
Az izolált feldolgozó folyamat az alábbi táblázatoknak megfelelően támogatja a paramétertípusokat. Az Azure.Storage.Queues típusokhoz való kötésének támogatása előzetes verzióban érhető el.
Üzenetsor-eseményindító
Az üzenetsor-eseményindító a következő típusokhoz tud kapcsolódni:
| Típus | Leírás |
|---|---|
string |
Az üzenet tartalma sztringként. Akkor használja, ha az üzenet egyszerű szöveg. |
byte[] |
Az üzenet bájtja. |
| JSON szerializálható típusok | Ha egy üzenetsor JSON-adatokat tartalmaz, a Functions megpróbálja deszerializálni a JSON-adatokat egy egyszerű régi CLR-objektum (POCO) típusba. |
| QueueMessage1 | Az üzenet. |
| BinaryData1 | Az üzenet bájtja. |
1 Ezeknek a típusoknak a használatához hivatkoznia kell a Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues 5.2.0-s vagy újabb verziójára, valamint az SDK-típuskötések gyakori függőségeire.
Üzenetsor kimeneti kötése
Ha azt szeretné, hogy a függvény egyetlen üzenetet írjon, az üzenetsor kimeneti kötése a következő típusokhoz köthető:
| Típus | Leírás |
|---|---|
string |
Az üzenet tartalma sztringként. Akkor használja, ha az üzenet egyszerű szöveg. |
byte[] |
Az üzenet bájtja. |
| JSON szerializálható típusok | Egy JSON-üzenet tartalmát képviselő objektum. A Functions egy egyszerű régi CLR-objektum (POCO) típust próbál JSON-adatokká szerializálni. |
Ha azt szeretné, hogy a függvény több üzenetet írjon, az üzenetsor kimeneti kötése a következő típusokhoz kapcsolódhat:
| Típus | Leírás |
|---|---|
T[] hol T található az egyetlen üzenettípus |
Több üzenet tartalmát tartalmazó tömb. Minden bejegyzés egy üzenetet jelöl. |
Egyéb kimeneti forgatókönyvek esetén közvetlenül hozzon létre és használjon QueueClient-et más típusú Azure.Storage.Queues-ból. Tekintse meg az Azure-ügyfelek regisztrálását a függőséginjektálás használatával egy ügyféltípus Azure SDK-ból való létrehozásához.
host.json beállítások
Ez a szakasz a kötéshez elérhető konfigurációs beállításokat ismerteti a 2.x és újabb verzióban. A host.json fájl beállításai a függvényalkalmazás-példány összes függvényére vonatkoznak. A függvényalkalmazás konfigurációs beállításaival kapcsolatos további információkért lásd host.json Azure Functionsre vonatkozó referenciát.
Feljegyzés
A Host.json a Functions 1.x-ben az Azure Functions 1.x host.json referenciájában talál.
{
"version": "2.0",
"extensions": {
"queues": {
"maxPollingInterval": "00:00:02",
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8,
"messageEncoding": "base64"
}
}
}
| Tulajdonság | Alapértelmezett | Leírás |
|---|---|---|
| maximális lekérdezési intervallum | 00:01:00 | Az üzenetsor-szavazások közötti maximális időköz. A minimális időköz 00:00:00.100 (100 ms). Az intervallumok legfeljebb maxPollingInterval. Az alapértelmezett érték maxPollingInterval 00:01:00 (1 perc).
maxPollingInterval nem lehet kisebb, mint 00:00:00.100 (100 ms). A Functions 2.x és újabb verzióiban az adattípus egy TimeSpan. A Functions 1.x-ben ezredmásodpercben van. |
| láthatósági időkorlát | 00:00:00 | Az újrapróbálkozások közötti időintervallum, amikor az üzenet feldolgozása meghiúsul. |
| csomagméret | 16 | Azon üzenetsor-üzenetek száma, amelyeket a Functions-futtatókörnyezet egyszerre kér le, és párhuzamosan dolgozik fel. Amikor a feldolgozott szám lekerül a newBatchThresholdmegadott értékre, a futtatókörnyezet újabb köteget kap, és megkezdi az üzenetek feldolgozását. Így az egyidejűleg feldolgozott üzenetek maximális száma függvényenként batchSize plusz newBatchThreshold. Ez a korlát külön vonatkozik az egyes üzenetsor által aktivált függvényekre. Ha el szeretné kerülni az egy üzenetsoron fogadott üzenetek párhuzamos végrehajtását, beállíthatja az 1 értéket batchSize . Ez a beállítás azonban kiküszöböli az egyidejűséget mindaddig, amíg a függvényalkalmazás csak egyetlen virtuális gépen (virtuális gépen) fut. Ha a függvényalkalmazás több virtuális gépre skálázódik, minden virtuális gép futtathat egy példányt az egyes üzenetsor által aktivált függvények közül.A maximális érték batchSize 32. |
| maximális sorbavételi szám | 5 | Az üzenetek feldolgozásának hányszoros száma, mielőtt áthelyezi azt a méregsorba. |
| newBatchThreshold | N*batchSize/2 | Amikor az egyidejűleg feldolgozott üzenetek száma erre a számra csökken, a futtatókörnyezet egy másik köteget kér le.N Az App Service-en vagy Prémium csomagokon való futtatáskor elérhető vCPU-k számát jelöli. Értéke 1 a használati tervhez tartozik. |
| messageEncoding | base64 | Ez a beállítás csak az 5.0.0-s és újabb verziójú bővítménycsomagokban érhető el. Az üzenetek kódolási formátumát jelöli. Az érvényes értékek a következők: base64 és none. |