Sdílet prostřednictvím


Klientská knihovna Služby Azure Storage Files Data Lake pro .NET – verze 12.13.1

Verze serveru: 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 a 2019-02-02-02

Azure Data Lake zahrnuje všechny funkce potřebné k tomu, aby vývojáři, datoví vědci a analytici mohli snadno ukládat data libovolné velikosti, tvaru a rychlosti a provádět všechny typy zpracování a analýz napříč platformami a jazyky. Odstraňuje složitost ingestování a ukládání všech dat a zároveň umožňuje rychlejší zprovoznění pomocí dávkové, streamované a interaktivní analýzy.

Zdrojový kód | Balíček (NuGet) | Referenční dokumentace k | rozhraní API Dokumentace k | rozhraní REST API Dokumentace k produktu

Začínáme

Instalace balíčku

Nainstalujte klientskou knihovnu Azure Storage Files Data Lake pro .NET pomocí NuGetu:

dotnet add package Azure.Storage.Files.DataLake

Požadavky

K použití tohoto balíčku potřebujete předplatné Azure a účet úložiště .

K vytvoření nového účtu úložiště můžete použít Azure Portal, Azure PowerShell nebo Azure CLI. Tady je příklad použití Azure CLI:

az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS

Klíčové koncepty

DataLake Storage Gen2 bylo navrženo tak, aby:

  • Obsluha několika petabajtů informací při zachování stovek gigabitů propustnosti
  • Umožňuje snadnou správu obrovských objemů dat.

Mezi klíčové funkce DataLake Storage Gen2 patří:

  • Přístup kompatibilní s Hadoopem
  • Nadmnožina oprávnění POSIX
  • Nákladově efektivní z hlediska nízkonákladové kapacity úložiště a transakcí
  • Optimalizovaný ovladač pro analýzu velkých objemů dat

Základní součástí Data Lake Storage Gen2 je přidání hierarchického oboru názvů do služby Blob Storage. Hierarchický obor názvů uspořádá objekty nebo soubory do hierarchie adresářů pro efektivní přístup k datům.

V minulosti musely cloudové analýzy ohrozit výkon, správu a zabezpečení. Data Lake Storage Gen2 řeší každý z těchto aspektů následujícími způsoby:

  • Výkon je optimalizovaný, protože nemusíte kopírovat ani transformovat data jako předpoklad pro analýzu. Hierarchický obor názvů výrazně zlepšuje výkon operací správy adresářů, což zlepšuje celkový výkon úloh.
  • Správa je jednodušší, protože soubory můžete uspořádat a manipulovat s nimi prostřednictvím adresářů a podadresářů.
  • Zabezpečení je vynutitelné, protože můžete definovat oprávnění POSIX pro adresáře nebo jednotlivé soubory.
  • Nákladová efektivita je možná, protože Data Lake Storage Gen2 je postavená na nízkonákladovém úložišti Objektů blob Azure. Další funkce dále snižují celkové náklady na vlastnictví při spouštění analýz velkých objemů dat v Azure.

Data Lake Storage Gen2 nabízí dva typy prostředků:

  • Systém souborů používaný přes DataLakeFileSystemClient
  • Cesta použitá přes DataLakeFileClient nebo DataLakeDirectoryClient
ADLS Gen2 Objekt blob
Filesystem Kontejner
Cesta (soubor nebo adresář) Objekt blob

Poznámka: Tato klientská knihovna nepodporuje zakázané účty úložiště hierarchického oboru názvů (HNS).

Bezpečnost vlákna

Zaručujeme, že všechny metody instance klienta jsou bezpečné pro přístup z více vláken a nezávislé na sobě (pokyny). Tím se zajistí, že doporučení opakovaného použití instancí klienta bude vždy bezpečné, a to i napříč vlákny.

Další koncepty

Možnosti | klienta Přístup k odpovědi | Dlouhotrvající operace | Zpracování selhání | Diagnostika | Zesměšňovat | Životnost klienta

Příklady

Vytvoření dataLakeServiceClient

StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);

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

Vytvoř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();

Vytvoř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();

Vytvoření DataLakeFileClient

Vytvoření DataLakeFileClient z 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();

Vytvoření DataLakeFileClient z 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();

Připojení dat k souboru DataLake

// 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);

Čtení dat ze souboru DataLake

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

Výpis nebo procházení systémem souborů DataLake

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

Nastavení oprávnění pro soubor DataLake

// 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);

Nastavení řízení přístupu (ACL) v souboru DataLake

// 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);

Získání řízení přístupu (ACL) do souboru DataLake

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

Přejmenování souboru DataLake

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

Přejmenování adresáře DataLake

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

Získání vlastností v souboru DataLake

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

Získání vlastností v adresáři DataLake

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

Řešení potíží

Všechny operace služby File DataLake vyvolají výjimku RequestFailedException při selhání s užitečnými ErrorCodes. Mnoho z těchto chyb je možné obnovit.

Další kroky

Začínáme s našimi ukázkami DataLake:

  1. Hello World: Připojení, čtení a výpis souborů DataLake (nebo asynchronně)
  2. Ověřování: Ověřování pomocí veřejného přístupu, sdílených klíčů, sdílených přístupových podpisů a Azure Active Directory.

Přispívání

Podrobnosti o sestavování, testování a přispívání do této knihovny najdete na CONTRIBUTING.md úložiště .

Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která stanoví, že máte právo udělit nám práva k používání vašeho příspěvku a skutečně tak činíte. Podrobnosti najdete na cla.microsoft.com.

Tento projekt přijal pravidla chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování nebo se obraťte na opencode@microsoft.com případné další dotazy nebo komentáře.

Imprese