Azure Storage Files Data Lake-clientbibliotheek voor .NET - versie 12.13.1
Serverversie: 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-07 en 2019-02-02
Azure Data Lake bevat alle mogelijkheden die nodig zijn om het eenvoudig te maken voor ontwikkelaars, gegevenswetenschappers en analisten om gegevens van elke grootte, vorm en snelheid op te slaan, en om alle soorten verwerking en analyse uit te voeren op verschillende platforms en talen. Het verwijdert de complexiteit van het opnemen en opslaan van al uw gegevens en maakt het sneller om aan de slag te gaan met batch-, streaming- en interactieve analyses.
Broncode | Pakket (NuGet) | API-referentiedocumentatie | REST API-documentatie | Productdocumentatie
Aan de slag
Het pakket installeren
Installeer de Azure Storage Files Data Lake-clientbibliotheek voor .NET met NuGet:
dotnet add package Azure.Storage.Files.DataLake
Vereisten
U hebt een Azure-abonnement en een opslagaccount nodig om dit pakket te kunnen gebruiken.
Als u een nieuw opslagaccount wilt maken, kunt u azure portal, Azure PowerShell of de Azure CLI gebruiken. Hier volgt een voorbeeld met behulp van de Azure CLI:
az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS
Belangrijkste concepten
DataLake Storage Gen2 is ontworpen voor het volgende:
- Meerdere petabytes aan gegevens onderhouden met honderden gigabits doorvoer
- Hiermee kunt u eenvoudig enorme hoeveelheden gegevens beheren
Belangrijke functies van DataLake Storage Gen2 zijn onder andere:
- Hadoop-compatibele toegang
- Een superset van POSIX-machtigingen
- Rendabel in termen van goedkope opslagcapaciteit en transacties
- Geoptimaliseerd stuurprogramma voor big data-analyse
De toevoeging van een hiërarchische naamruimte aan Blob Storage vormt een fundamenteel onderdeel van Data Lake Storage Gen2. Met de hiërarchische naamruimte worden objecten/bestanden georganiseerd in een hiërarchie met mappen voor efficiënte toegang tot de gegevens.
In het verleden moesten cloudgebaseerde analyses inbreuk maken op het gebied van prestaties, beheer en beveiliging. Data Lake Storage Gen2 behandelt elk van deze aspecten op de volgende manieren:
- De prestaties worden geoptimaliseerd omdat u geen gegevens hoeft te kopiëren of transformeren als voorwaarde voor analyse. De hiërarchische naamruimte verbetert de prestaties van directorybeheerbewerkingen aanzienlijk, waardoor de algehele taakprestaties worden verbeterd.
- Het beheer is eenvoudiger omdat u bestanden kunt ordenen en bewerken met behulp van mappen en submappen.
- De beveiliging is afdwingbaar omdat u POSIX-machtigingen kunt definiëren voor structuren of afzonderlijke bestanden.
- Kosteneffectiviteit wordt mogelijk gemaakt omdat Data Lake Storage Gen2 is gebouwd op de goedkope Azure Blob-opslag. De extra functies verlagen de totale beheerkosten voor het uitvoeren van big data-analyses in Azure nog verder.
Data Lake Storage Gen2 biedt twee soorten resources:
- Het bestandssysteem dat wordt gebruikt via 'DataLakeFileSystemClient'
- Het pad dat wordt gebruikt via 'DataLakeFileClient' of 'DataLakeDirectoryClient'
ADLS Gen2 | Blob |
---|---|
Bestandssysteem | Container |
Pad (bestand of map) | Blob |
Opmerking: deze clientbibliotheek biedt geen ondersteuning voor HNS-opslagaccounts (Hierarchical NameSpace).
Veiligheid van schroefdraad
We garanderen dat alle clientexemplaarmethoden thread-veilig en onafhankelijk van elkaar zijn (richtlijn). Dit zorgt ervoor dat de aanbeveling om clientexemplaren opnieuw te gebruiken altijd veilig is, zelfs voor alle threads.
Aanvullende concepten
Clientopties | Toegang tot het antwoord | Langlopende bewerkingen | Afhandeling van fouten | Diagnostics | Spottende | Clientlevensduur
Voorbeelden
Een DataLakeServiceClient maken
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);
Een DataLakeFileSystemClient maken
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();
Een DataLakeDirectoryClient maken
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();
Een DataLakeFileClient maken
DataLakeFileClient maken van een 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();
DataLakeFileClient maken van een 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();
Gegevens toevoegen aan een DataLake-bestand
// 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);
Gegevens lezen uit een DataLake-bestand
Response<FileDownloadInfo> fileContents = file.Read();
Een DataLake-bestandssysteem weergeven/doorkruisen
foreach (PathItem pathItem in filesystem.GetPaths())
{
names.Add(pathItem.Name);
}
Machtigingen instellen voor een DataLake-bestand
// 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);
Toegangsbeheer (ACL's) instellen voor een DataLake-bestand
// 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);
Toegangsbeheer (ACL's) ophalen voor een DataLake-bestand
// Get Access Control List
PathAccessControl accessControlResponse = fileClient.GetAccessControl();
De naam van een DataLake-bestand wijzigen
DataLakeFileClient renamedFileClient = fileClient.Rename("sample-file2");
De naam van een DataLake-map wijzigen
DataLakeDirectoryClient renamedDirectoryClient = directoryClient.Rename("sample-directory2");
Eigenschappen ophalen voor een DataLake-bestand
// Get Properties on a File
PathProperties filePathProperties = fileClient.GetProperties();
Eigenschappen ophalen voor een DataLake-map
// Get Properties on a Directory
PathProperties directoryPathProperties = directoryClient.GetProperties();
Problemen oplossen
Alle file DataLake-servicebewerkingen genereren een RequestFailedException bij een fout met nuttige ErrorCode
s. Veel van deze fouten kunnen worden hersteld.
Volgende stappen
Aan de slag met onze DataLake-voorbeelden:
- Hallo wereld: DataLake-bestanden toevoegen, lezen en vermelden (of asynchroon)
- Verificatie: verifieer met openbare toegang, gedeelde sleutels, handtekeningen voor gedeelde toegang en Azure Active Directory.
Bijdragen
Zie de Storage CONTRIBUTING.md voor meer informatie over het bouwen, testen en bijdragen aan deze bibliotheek.
Wij verwelkomen bijdragen en suggesties voor dit project. Voor de meeste bijdragen moet u instemmen met een licentieovereenkomst voor bijdragers (CLA: Contributor License Agreement) waarin u verklaart dat u gerechtigd bent ons het recht te geven uw bijdrage te gebruiken, en dat u dit ook doet. Ga naar cla.microsoft.com voor meer informatie.
Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Zie voor meer informatie de veelgestelde vragen over de gedragscode of neem contact op opencode@microsoft.com met eventuele aanvullende vragen of opmerkingen.