Az Azure Storage Blobs ügyfélkódtára a .NET-hez – 12.15.1-es verzió
Kiszolgáló verziója: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07 és 2019-02-02
Az Azure Blob Storage a Microsoft felhőalapú objektumtárolási megoldása. A Blob Storage nagy mennyiségű strukturálatlan adat tárolására van optimalizálva. A strukturálatlan adatok olyan adatok, amelyek nem követnek egy adott adatmodellt vagy definíciót, például szöveges vagy bináris adatok.
Forráskód | Csomag (NuGet) | API-referenciadokumentáció | REST API-dokumentáció | Termékdokumentáció
Első lépések
A csomag telepítése
Telepítse a .NET-hez készült Azure Storage Blobs-ügyfélkódtárat a NuGet használatával:
dotnet add package Azure.Storage.Blobs
Előfeltételek
A csomag használatához Azure-előfizetésre és tárfiókra van szükség.
Új tárfiók létrehozásához használhatja az Azure Portalt, a Azure PowerShell vagy az Azure CLI-t. Íme egy példa az Azure CLI használatával:
az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS
Az ügyfél hitelesítése
Az Azure Blobs Storage szolgáltatás használatához létre kell hoznia a BlobServiceClient osztály egy példányát. Az Azure Identity-kódtár megkönnyíti az Azure Active Directory-támogatás hozzáadását az Azure SDK-ügyfelek hitelesítéséhez a hozzájuk tartozó Azure-szolgáltatásokkal.
// Create a BlobServiceClient that will authenticate through Active Directory
Uri accountUri = new Uri("https://MYSTORAGEACCOUNT.blob.core.windows.net/");
BlobServiceClient client = new BlobServiceClient(accountUri, new DefaultAzureCredential());
A dokumentációnkban és a példáinkban további információt talál az Azure Active Directory Azure Storage-beli hitelesítéshez való engedélyezéséről.
Fő fogalmak
A Blob Storage használati lehetőségei:
- Képek vagy dokumentumok közvetlen szolgáltatása a böngészők számára.
- Fájlok tárolása megosztott hozzáféréshez.
- Video- és hangtartalom streamelése.
- Írás naplófájlokba.
- Adattárolás biztonsági mentésekhez és helyreállításhoz, vészhelyreállításhoz és archiváláshoz.
- Adattárolás helyszíni vagy az Azure-ban üzemeltetett szolgáltatásban való elemzéshez.
A Blob Storage háromféle erőforrást kínál:
- A következőn keresztül használt tárfiók :
BlobServiceClient
- Egy tároló a tárfiókban, amelyet a
BlobContainerClient
- Blob egy tárolóban, amelyet a
BlobClient
A mintáinkban további információt találhat a hitelesítési lehetőségekről (beleértve a kapcsolati sztringeket, a megosztott kulcsot, a közös kulcsú aláírásokat, az Active Directoryt és a névtelen nyilvános hozzáférést).
Menetbiztonság
Garantáljuk, hogy minden ügyfélpéldány-metódus szálbiztos és független egymástól (útmutató). Ez biztosítja, hogy az ügyfélpéldányok újrafelhasználására vonatkozó javaslat mindig biztonságos legyen, még a szálak között is.
További fogalmak
Ügyfélbeállítások | A válasz | elérése Hosszú ideig futó műveletek | Hibák | kezelése Diagnosztika | Gúnyos | Ügyfélélettartam
Példák
Blob feltöltése
// Get a connection string to our Azure Storage account. You can
// obtain your connection string from the Azure Portal (click
// Access Keys under Settings in the Portal Storage account blade)
// or using the Azure CLI with:
//
// az storage account show-connection-string --name <account_name> --resource-group <resource_group>
//
// And you can provide the connection string to your application
// using an environment variable.
string connectionString = "<connection_string>";
string containerName = "sample-container";
string blobName = "sample-blob";
string filePath = "sample-file";
// Get a reference to a container named "sample-container" and then create it
BlobContainerClient container = new BlobContainerClient(connectionString, containerName);
container.Create();
// Get a reference to a blob named "sample-file" in a container named "sample-container"
BlobClient blob = container.GetBlobClient(blobName);
// Upload local file
blob.Upload(filePath);
Blob letöltése
// Get a temporary path on disk where we can download the file
string downloadPath = "hello.jpg";
// Download the public blob at https://aka.ms/bloburl
new BlobClient(new Uri("https://aka.ms/bloburl")).DownloadTo(downloadPath);
Blobok számbavétele
// Get a connection string to our Azure Storage account.
string connectionString = "<connection_string>";
string containerName = "sample-container";
string filePath = "hello.jpg";
// Get a reference to a container named "sample-container" and then create it
BlobContainerClient container = new BlobContainerClient(connectionString, containerName);
container.Create();
// Upload a few blobs so we have something to list
container.UploadBlob("first", File.OpenRead(filePath));
container.UploadBlob("second", File.OpenRead(filePath));
container.UploadBlob("third", File.OpenRead(filePath));
// Print out all the blob names
foreach (BlobItem blob in container.GetBlobs())
{
Console.WriteLine(blob.Name);
}
Aszinkron API-k
Teljes mértékben támogatjuk a szinkron és az aszinkron API-kat is.
// Get a temporary path on disk where we can download the file
string downloadPath = "hello.jpg";
// Download the public blob at https://aka.ms/bloburl
await new BlobClient(new Uri("https://aka.ms/bloburl")).DownloadToAsync(downloadPath);
Hibaelhárítás
Minden Blob-szolgáltatásművelet egy RequestFailedException kivételt küld a hasznos ErrorCode
s hiba esetén. Ezek közül a hibák közül sok helyreállítható.
// Get a connection string to our Azure Storage account.
string connectionString = "<connection_string>";
string containerName = "sample-container";
// Try to delete a container named "sample-container" and avoid any potential race conditions
// that might arise by checking if the container is already deleted or is in the process
// of being deleted.
BlobContainerClient container = new BlobContainerClient(connectionString, containerName);
try
{
container.Delete();
}
catch (RequestFailedException ex)
when (ex.ErrorCode == BlobErrorCode.ContainerBeingDeleted ||
ex.ErrorCode == BlobErrorCode.ContainerNotFound)
{
// Ignore any errors if the container being deleted or if it has already been deleted
}
Következő lépések
Ismerkedés a blobmintákkal:
- "Helló világ!" alkalmazás: Blobok feltöltése, letöltése és listázása (vagy aszinkron módon)
- Hitelesítés: Hitelesítés kapcsolati sztringekkel, nyilvános hozzáféréssel, megosztott kulcsokkal, közös hozzáférésű jogosultságkódokkal és Azure Active Directoryval.
Közreműködés
A tár felépítéséről, teszteléséről és közreműködéséről további információt a Storage CONTRIBUTING.md talál.
A projektben szívesen fogadjuk a hozzájárulásokat és a javaslatokat. A legtöbb hozzájáruláshoz el kell fogadnia egy Közreműködői licencszerződést (CLA-t), amelyben kijelenti, hogy jogosult arra, hogy ránk ruházza hozzájárulása felhasználási jogát, és ezt ténylegesen meg is teszi. Részletekért látogasson el cla.microsoft.com.
A projekt a Microsoft nyílt forráskódú projekteket szabályozó etikai kódexe, a Microsoft Open Source Code of Conduct hatálya alá esik. További információkért lásd a viselkedési szabályzattal kapcsolatos gyakori kérdéseket , vagy vegye fel a kapcsolatot opencode@microsoft.com az esetleges további kérdésekkel vagy megjegyzésekkel.