Azure Storage Files Data Lake-klientbibliotek för .NET – version 12.13.1
Serverversion: 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 och 2019-02-02
Azure Data Lake innehåller alla funktioner som krävs för att göra det enkelt för utvecklare, dataforskare och analytiker att lagra data av valfri storlek, form och hastighet och utföra alla typer av bearbetning och analys på plattformar och språk. Det tar bort komplexiteten i att mata in och lagra alla dina data samtidigt som det går snabbare att komma igång med batch- och strömningsanalyser och interaktiva analyser.
Källkod | Paket (NuGet) | API-referensdokumentation | REST API-dokumentation | Produktdokumentation
Komma igång
Installera paketet
Installera Azure Storage Files Data Lake-klientbiblioteket för .NET med NuGet:
dotnet add package Azure.Storage.Files.DataLake
Förutsättningar
Du behöver en Azure-prenumeration och ett lagringskonto för att använda det här paketet.
Om du vill skapa ett nytt lagringskonto kan du använda Azure Portal, Azure PowerShell eller Azure CLI. Här är ett exempel med Hjälp av Azure CLI:
az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS
Viktiga begrepp
DataLake Storage Gen2 har utformats för att:
- Hantera flera petabyte med information samtidigt som hundratals gigabits dataflöde bibehålls
- Gör att du enkelt kan hantera stora mängder data
Viktiga funktioner i DataLake Storage Gen2 är:
- Hadoop-kompatibel åtkomst
- En superuppsättning POSIX-behörigheter
- Kostnadseffektiv när det gäller lagringskapacitet och transaktioner till låg kostnad
- Optimerad drivrutin för stordataanalys
En grundläggande del av Data Lake Storage Gen2 är att lägga till ett hierarkiskt namnområde i Blob Storage. Det hierarkiska namnområdet organiserar objekt/filer i en hierarki med kataloger för effektiv dataåtkomst.
Tidigare var molnbaserad analys tvungen att kompromissa när det gäller prestanda, hantering och säkerhet. Data Lake Storage Gen2 hanterar var och en av dessa aspekter på följande sätt:
- Prestanda är optimerad eftersom du inte behöver kopiera eller transformera data som en förutsättning för analys. Det hierarkiska namnområdet förbättrar avsevärt prestandan för kataloghanteringsåtgärder, vilket förbättrar övergripande jobbprestanda.
- Hanteringen är enklare eftersom du kan organisera och manipulera filer via kataloger och underkataloger.
- Säkerhet kan tillämpas eftersom du kan definiera POSIX-behörigheter för kataloger eller enskilda filer.
- Kostnadseffektivitet möjliggörs eftersom Data Lake Storage Gen2 bygger på den billiga Azure Blob Storage. De ytterligare funktionerna sänker ytterligare den totala ägandekostnaden för att köra stordataanalys på Azure.
Data Lake Storage Gen2 erbjuder två typer av resurser:
- Filsystemet som används via "DataLakeFileSystemClient"
- Sökvägen som används via DataLakeFileClient eller DataLakeDirectoryClient
ADLS Gen2 | Blob |
---|---|
Filsystem | Container |
Sökväg (fil eller katalog) | Blob |
Obs! Det här klientbiblioteket stöder inte HNS-inaktiverade lagringskonton (hierarkisk namnrymd).
Trådsäkerhet
Vi garanterar att alla klientinstansmetoder är trådsäkra och oberoende av varandra (riktlinje). Detta säkerställer att rekommendationen att återanvända klientinstanser alltid är säker, även över trådar.
Ytterligare begrepp
Klientalternativ | Åtkomst till svaret | Långvariga åtgärder | Hantera fel | Diagnostik | Gäckande | Klientlivslängd
Exempel
Skapa en DataLakeServiceClient
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);
Skapa en DataLakeFileSystemClient
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();
Skapa en DataLakeDirectoryClient
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();
Skapa en DataLakeFileClient
Skapa DataLakeFileClient från en DataLakeDirectoryClient
// 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();
Skapa DataLakeFileClient från en DataLakeFileSystemClient
// 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();
Lägga till data i en DataLake-fil
// 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);
Läsa data från en DataLake-fil
Response<FileDownloadInfo> fileContents = file.Read();
Lista/bläddra genom ett DataLake-filsystem
foreach (PathItem pathItem in filesystem.GetPaths())
{
names.Add(pathItem.Name);
}
Ange behörigheter för en DataLake-fil
// 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);
Ange åtkomstkontroller (ACL:er) för en DataLake-fil
// 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);
Hämta åtkomstkontroller (ACL:er) på en DataLake-fil
// Get Access Control List
PathAccessControl accessControlResponse = fileClient.GetAccessControl();
Byt namn på en DataLake-fil
DataLakeFileClient renamedFileClient = fileClient.Rename("sample-file2");
Byt namn på en DataLake-katalog
DataLakeDirectoryClient renamedDirectoryClient = directoryClient.Rename("sample-directory2");
Hämta egenskaper för en DataLake-fil
// Get Properties on a File
PathProperties filePathProperties = fileClient.GetProperties();
Hämta egenskaper i en DataLake-katalog
// Get Properties on a Directory
PathProperties directoryPathProperties = directoryClient.GetProperties();
Felsökning
Alla File DataLake-tjänståtgärder genererar en RequestFailedException om fel med hjälp avErrorCode
s. Många av dessa fel kan återställas.
Nästa steg
Kom igång med våra DataLake-exempel:
- Hello World: Lägga till, läsa och lista DataLake-filer (eller asynkront)
- Autentisering: Autentisera med offentlig åtkomst, delade nycklar, signaturer för delad åtkomst och Azure Active Directory.
Bidra
Mer information om hur du skapar, testar och bidrar till det här biblioteket finns i Storage CONTRIBUTING.md .
Det här projektet välkomnar bidrag och förslag. Merparten av bidragen kräver att du godkänner ett licensavtal för bidrag, där du deklarerar att du har behörighet att bevilja oss rättigheten att använda ditt bidrag, och att du dessutom uttryckligen gör så. Mer information finns i cla.microsoft.com.
Det här projektet använder sig av Microsofts uppförandekod för öppen källkod. Mer information finns i Vanliga frågor och svar om uppförandekod eller kontakt opencode@microsoft.com med ytterligare frågor eller kommentarer.