Azure Storage Files Data Lake ügyfélkódtár a .NET-hez – 12.13.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 Data Lake minden olyan képességet tartalmaz, amely ahhoz szükséges, hogy a fejlesztők, az adattudósok és az elemzők könnyen tárolhassanak bármilyen méretű, formájú és sebességű adatokat, és mindenféle feldolgozást és elemzést végezzenek különböző platformokon és nyelveken. Eltávolítja az összes adat betöltésének és tárolásának bonyolultságait, miközben gyorsabbá teszi a kötegelt, streamelési és interaktív elemzések használatát.

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 Files Data Lake ügyfélkódtárat a NuGet használatával:

dotnet add package Azure.Storage.Files.DataLake

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

Fő fogalmak

A DataLake Storage Gen2 a következőket tervezte:

  • Több petabájtnyi információ kiszolgálása több száz gigabites átviteli sebesség fenntartása mellett
  • Lehetővé teszi nagy mennyiségű adat egyszerű kezelését

A DataLake Storage Gen2 legfontosabb funkciói a következők:

  • Hadoop-kompatibilis hozzáférés
  • POSIX-engedélyek szuperhalmaza
  • Költséghatékony az alacsony költségű tárolási kapacitás és a tranzakciók szempontjából
  • Optimalizált illesztő big data-elemzéshez

A Data Lake Storage Gen2 alapvető része egy hierarchikus névtér hozzáadása a Blob Storage-hoz. A hierarchikus névtér a hatékony adathozzáférés érdekében könyvtárak hierarchiájába rendezi az objektumokat/fájlokat.

Korábban a felhőalapú elemzésnek a teljesítmény, a felügyelet és a biztonság területén is kompromisszumot kellett kötnie. Data Lake Storage Gen2 ezeket a szempontokat a következő módokon kezeli:

  • A teljesítmény optimalizálva van, mert nem kell adatokat másolnia vagy átalakítania az elemzés előfeltételeként. A hierarchikus névtér jelentősen javítja a címtárkezelési műveletek teljesítményét, ami javítja a feladatok általános teljesítményét.
  • A felügyelet egyszerűbb, mert könyvtárakon és alkönyvtárakon keresztül rendszerezheti és kezelheti a fájlokat.
  • A biztonság kényszeríthető, mert POSIX-engedélyeket adhat meg könyvtárakhoz vagy egyedi fájlokhoz.
  • A költséghatékonyság akkor érhető el, ha a Data Lake Storage Gen2 az alacsony költségű Azure Blob Storage-ra épül. A további funkciók tovább csökkentik a big data-elemzések Azure-beli futtatásának teljes bekerülési költségét.

Data Lake Storage Gen2 kétféle erőforrást kínál:

  • A DataLakeFileSystemClienten keresztül használt fájlrendszer
  • A DataLakeFileClient vagy a DataLakeDirectoryClient használatával használt elérési út
ADLS Gen2 Blob
Fájlrendszer Tároló
Elérési út (fájl vagy könyvtár) Blob

Megjegyzés: Ez az ügyfélkódtár nem támogatja a hierarchikus névtér (HNS) letiltott tárfiókjait.

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

DataLakeServiceClient létrehozása

StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);

// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);

DataLakeFileSystemClient létrehozása

StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);

// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);

// Create a DataLake Filesystem
DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient(Randomize("sample-filesystem"));
filesystem.Create();

DataLakeDirectoryClient létrehozása

StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);

// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);

// Get a reference to a filesystem named "sample-filesystem-append" and then create it
DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient(Randomize("sample-filesystem-append"));
filesystem.Create();

// Create
DataLakeDirectoryClient directory = filesystem.GetDirectoryClient(Randomize("sample-file"));
directory.Create();

DataLakeFileClient létrehozása

DataLakeFileClient létrehozása DataLakeDirectoryClientből

// Create a DataLake Directory
DataLakeDirectoryClient directory = filesystem.CreateDirectory(Randomize("sample-directory"));
directory.Create();

// Create a DataLake File using a DataLake Directory
DataLakeFileClient file = directory.GetFileClient(Randomize("sample-file"));
file.Create();

DataLakeFileClient létrehozása DataLakeFileSystemClientből

// Create a DataLake Filesystem
DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient(Randomize("sample-filesystem"));
filesystem.Create();

// Create a DataLake file using a DataLake Filesystem
DataLakeFileClient file = filesystem.GetFileClient(Randomize("sample-file"));
file.Create();

Adatok hozzáfűzése DataLake-fájlhoz

// Create a file
DataLakeFileClient file = filesystem.GetFileClient(Randomize("sample-file"));
file.Create();

// Append data to the DataLake File
file.Append(File.OpenRead(sampleFilePath), 0);
file.Flush(SampleFileContent.Length);

Adatok beolvasása DataLake-fájlból

Response<FileDownloadInfo> fileContents = file.Read();

DataLake-fájlrendszer listázása/bejárása

foreach (PathItem pathItem in filesystem.GetPaths())
{
    names.Add(pathItem.Name);
}

DataLake-fájl engedélyeinek beállítása

// Create a DataLake file so we can set the Access Controls on the files
DataLakeFileClient fileClient = filesystem.GetFileClient(Randomize("sample-file"));
fileClient.Create();

// Set the Permissions of the file
PathPermissions pathPermissions = PathPermissions.ParseSymbolicPermissions("rwxrwxrwx");
fileClient.SetPermissions(permissions: pathPermissions);

Hozzáférés-vezérlés (ACL-ek) beállítása DataLake-fájlon

// Create a DataLake file so we can set the Access Controls on the files
DataLakeFileClient fileClient = filesystem.GetFileClient(Randomize("sample-file"));
fileClient.Create();

// Set Access Control List
IList<PathAccessControlItem> accessControlList
    = PathAccessControlExtensions.ParseAccessControlList("user::rwx,group::r--,mask::rwx,other::---");
fileClient.SetAccessControlList(accessControlList);

Hozzáférés-vezérlések (ACL-ek) lekérése DataLake-fájlon

// Get Access Control List
PathAccessControl accessControlResponse = fileClient.GetAccessControl();

DataLake-fájl átnevezése

DataLakeFileClient renamedFileClient = fileClient.Rename("sample-file2");

DataLake-címtár átnevezése

DataLakeDirectoryClient renamedDirectoryClient = directoryClient.Rename("sample-directory2");

Tulajdonságok lekérése DataLake-fájlon

// Get Properties on a File
PathProperties filePathProperties = fileClient.GetProperties();

Tulajdonságok lekérése DataLake-címtárban

// Get Properties on a Directory
PathProperties directoryPathProperties = directoryClient.GetProperties();

Hibaelhárítás

A File DataLake szolgáltatás összes művelete RequestFailedException kivételt küld a hasznos ErrorCodes hiba esetén. Ezek közül a hibák közül sok helyreállítható.

Következő lépések

Ismerkedés a DataLake-mintákkal:

  1. "Helló világ!" alkalmazás: DataLake-fájlok hozzáfűzése, olvasása és listázása (vagy aszinkron módon)
  2. Hitelesítés: Hitelesítés nyilvános hozzáféréssel, megosztott kulcsokkal, közös hozzáférésű jogosultságkódokkal és az 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.

Megjelenések