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 triggereken és kötéseken keresztül integrálható az Azure Storage-ral. A Blob Storage-tal való integrációval olyan függvényeket hozhat létre, amelyek reagálnak a blobadatok változásaira, valamint az olvasási és írási értékekre.
| Művelet | Típus |
|---|---|
| Függvény futtatása Blob Storage-adatok módosításaként | Eseményindító |
| Blob storage-adatok olvasása függvényben | Bemeneti kötés |
| Blobtároló-adatok írásának engedélyezése egy függvény számára | 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.Blobs-ból származó típusok kötését. Az Azure.Storage.Blobs migrálási útmutatójából WindowsAzure.Storagetöbbet is megtudhat arról, hogy ezek az új típusok Microsoft.Azure.Storage migrálhatók és migrálhatók hozzájuk.
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 a Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs NuGet csomag 5.x vagy újabb verziójának telepítésével.
A .NET parancssori felületének használata:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs
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.
Ha az alkalmazást az F# használatával írja, ezt a bővítményt is konfigurálnia kell az alkalmazás indítási konfigurációjának részeként. A hívásban ConfigureFunctionsWorkerDefaults()ConfigureFunctionsWebApplication()adjon hozzá egy paramétert használó meghatalmazottat IFunctionsWorkerApplication . Ezután a meghatalmazott törzsén belül hívja meg ConfigureBlobStorageExtension() az objektumot:
let hostBuilder = new HostBuilder()
hostBuilder.ConfigureFunctionsWorkerDefaults(fun (context: HostBuilderContext) (appBuilder: IFunctionsWorkerApplicationBuilder) ->
appBuilder.ConfigureBlobStorageExtension() |> ignore
) |> ignore
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.
Blob-eseményindító
A blob-eseményindító a következő típusokhoz tud kapcsolódni:
| Típus | Leírás |
|---|---|
string |
A blob tartalma sztringként. Akkor használható, ha a blob tartalma egyszerű szöveg. |
byte[] |
A blobtartalom bájtja. |
| JSON szerializálható típusok | Ha egy blob JSON-adatokat tartalmaz, a Functions megpróbálja deszerializálni a JSON-adatokat egy egyszerű régi CLR-objektum (POCO) típusba. |
| Stream1 | A blobtartalom bemeneti adatfolyama. |
|
BlobClient1, BlockBlobClient1, PageBlobClient1, AppendBlobClient1, BlobBaseClient1 |
A blobhoz csatlakoztatott ügyfél. Ez a típuskészlet biztosítja a blob feldolgozásának legnagyobb vezérlését, és a blobba való visszaírásra is használható, ha a kapcsolat megfelelő engedéllyel rendelkezik. |
1 Ezeknek a típusoknak a használatához hivatkoznia kell a Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs 6.0.0-s vagy újabb verziójára, valamint az SDK-típuskötések gyakori függőségeire.
Blob bemeneti kötése
Ha azt szeretné, hogy a függvény egyetlen blobot dolgozzon fel, a blob bemeneti kötése a következő típusokhoz kapcsolódhat:
| Típus | Leírás |
|---|---|
string |
A blob tartalma sztringként. Akkor használható, ha a blob tartalma egyszerű szöveg. |
byte[] |
A blobtartalom bájtja. |
| JSON szerializálható típusok | Ha egy blob JSON-adatokat tartalmaz, a Functions megpróbálja deszerializálni a JSON-adatokat egy egyszerű régi CLR-objektum (POCO) típusba. |
| Stream1 | A blobtartalom bemeneti adatfolyama. |
|
BlobClient1, BlockBlobClient1, PageBlobClient1, AppendBlobClient1, BlobBaseClient1 |
A blobhoz csatlakoztatott ügyfél. Ez a típuskészlet biztosítja a blob feldolgozásának legkonfigurálását, és visszaírható, ha a kapcsolat megfelelő engedéllyel rendelkezik. |
Ha azt szeretné, hogy a függvény több blobot dolgozzon fel egy tárolóból, a blob bemeneti kötése a következő típusokhoz kapcsolódhat:
| Típus | Leírás |
|---|---|
T[] vagy List<T> hol T található az egyetlen blob bemeneti kötéstípusa |
Több blob tömbje vagy listája. Minden bejegyzés egy blobot jelöl a tárolóból. Az ilyen típusok által implementált felületekhez is csatlakozhat, például IEnumerable<T>. |
| BlobContainerClient1 | A tárolóhoz csatlakoztatott ügyfél. Ez a típus biztosítja a tároló feldolgozásának legnagyobb vezérlését, és írásra is használható, ha a kapcsolat megfelelő engedéllyel rendelkezik. |
1 Ezeknek a típusoknak a használatához hivatkoznia kell a Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs 6.0.0-s vagy újabb verziójára, valamint az SDK-típuskötések gyakori függőségeire.
Blob kimeneti kötése
Ha azt szeretné, hogy a függvény egyetlen blobba írjon, a blob kimeneti kötése a következő típusokhoz kapcsolódhat:
| Típus | Leírás |
|---|---|
string |
A blob tartalma sztringként. Akkor használható, ha a blob tartalma egyszerű szöveg. |
byte[] |
A blobtartalom bájtja. |
| JSON szerializálható típusok | Egy JSON-blob 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 blobba írjon, a blob kimeneti kötése a következő típusokhoz kapcsolódhat:
| Típus | Leírás |
|---|---|
T[] hol T található az egyetlen blob kimeneti kötéstípusa? |
Több blob tartalmát tartalmazó tömb. Minden bejegyzés egy blob tartalmát jelöli. |
Egyéb kimeneti forgatókönyvek esetén hozzon létre és használjon blobClientet vagy BlobContainerClientet közvetlenül az Azure.Storage.Blobs más típusaival. 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.
SDK-kötéstípusok
Általánosan elérhetőek az Azure Storage-blob SDK-típusai! A Blob-minta Python SDK-kötéseit követve ismerkedhet meg a Blobhoz készült SDK-típusokkal a Pythonban.
Fontos
Az SDK-típuskötések használatához a Python v2 programozási modell szükséges.
| Kötés | Paramétertípusok | Minták |
|---|---|---|
| Blobtrigger |
BlobClient, ContainerClient, StorageStreamDownloader |
BlobClient,ContainerClient,StorageStreamDownloader |
| Blobbemenet |
BlobClient, ContainerClient, StorageStreamDownloader |
BlobClient,ContainerClient,StorageStreamDownloader |
host.json beállítások
Ez a szakasz azokat a függvényalkalmazás-konfigurációs beállításokat ismerteti, amelyek a kötést használó függvényekhez érhetők el. Ezek a beállítások csak az 5.0.0-s és újabb verziójú bővítmények használatakor érvényesek. Az alábbi példában host.json fájl csak a kötés 2.x+ verziójának beállításait tartalmazza. A függvényalkalmazások konfigurációs beállításairól a 2.x és újabb verziókban host.json Azure Functionsre vonatkozó hivatkozásban talál további információt.
Feljegyzés
Ez a szakasz nem vonatkozik az 5.0.0.0-s verzió előtti bővítményverziókra. Ezekben a korábbi verziókban nincsenek függvényalkalmazás-szintű konfigurációs beállítások a blobokhoz.
{
"version": "2.0",
"extensions": {
"blobs": {
"maxDegreeOfParallelism": 4,
"poisonBlobThreshold": 1
}
}
}
| Tulajdonság | Alapértelmezett | Leírás |
|---|---|---|
| maxDegreeOfParallelism | 8 * (a rendelkezésre álló magok száma) | Egy adott függvényalkalmazás összes blob által aktivált függvényéhez engedélyezett egyidejű meghívások egész száma. A minimálisan megengedett érték 1. |
| poisonBlobThreshold | 5 | Az üzenet feldolgozásának egész száma, mielőtt áthelyezi azt a méregsorba. A minimálisan megengedett érték 1. |