.NET için Azure Depolama Dosyaları Data Lake istemci kitaplığı - sürüm 12.13.1
Sunucu Sürümü: 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 ve 2019-02-02
Azure Data Lake, geliştiricilerin, veri bilimcilerinin ve analistlerin her boyutta, şekilde ve hızda veri depolamasını ve platformlar ve diller arasında her türlü işleme ve analiz gerçekleştirmesini kolaylaştırmak için gereken tüm özellikleri içerir. Toplu iş, akış ve etkileşimli analizlerle çalışmaya başlamayı hızlandırırken tüm verilerinizi alma ve depolama karmaşıklıklarını ortadan kaldırır.
Kaynak kodu | Paket (NuGet) | API başvuru belgeleri | REST API belgeleri | Ürün belgeleri
Başlarken
Paketi yükleme
NuGet ile .NET için Azure Depolama Dosyaları Data Lake istemci kitaplığını yükleyin:
dotnet add package Azure.Storage.Files.DataLake
Önkoşullar
Bu paketi kullanmak için bir Azure aboneliğine ve depolama hesabına ihtiyacınız vardır.
Yeni bir Depolama Hesabı oluşturmak için Azure Portalı, Azure PowerShell veya Azure CLI'yı kullanabilirsiniz. Aşağıda Azure CLI'yi kullanan bir örnek verilmişti:
az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS
Önemli kavramlar
DataLake Storage 2. Nesil, şu şekilde tasarlanmıştır:
- Yüzlerce gigabit aktarım hızını sürdürerek birden çok petabaytlık bilgi sağlama
- Çok büyük miktarda veriyi kolayca yönetmenize olanak sağlar
DataLake Depolama 2. Nesil'in Temel Özellikleri şunlardır:
- Hadoop uyumlu erişim
- POSIX izinlerinin üst kümesi
- Düşük maliyetli depolama kapasitesi ve işlemler açısından uygun maliyetli
- Büyük veri analizi için iyileştirilmiş sürücü
Data Lake Storage 2. Nesil temel bir parçası, Blob depolamaya hiyerarşik ad alanının eklenmesidir. Hiyerarşik ad alanı, verimli veri erişimi için nesneleri/dosyaları dizin hiyerarşisinde düzenler.
Geçmişte bulut tabanlı analiz, performans, yönetim ve güvenlik alanlarında risk altında olmak zorunda kalmıştır. Data Lake Storage 2. Nesil bu yönlerin her birini aşağıdaki yollarla ele alır:
- Analiz için önkoşul olarak verileri kopyalamanız veya dönüştürmeniz gerekmediğinden performans en iyi duruma getirilmiştir. Hiyerarşik ad alanı, dizin yönetimi işlemlerinin performansını büyük ölçüde geliştirerek genel iş performansını artırır.
- Dizinler ve alt dizinler aracılığıyla dosyaları düzenleyip işleyebildiğiniz için yönetim daha kolaydır.
- Dizinler veya tek tek dosyalar üzerinde POSIX izinleri tanımlayabildiğiniz için güvenlik zorunlu kılınabilir.
- Düşük maliyetli Azure Blob depolamanın üzerine Data Lake Storage 2. Nesil oluşturulduğundan maliyet verimliliği mümkün hale getirilebilir. Ek özellikler, Azure'da büyük veri analizi çalıştırmak için toplam sahip olma maliyetini daha da düşürür.
Data Lake Storage 2. Nesil iki tür kaynak sunar:
- 'DataLakeFileSystemClient' aracılığıyla kullanılan dosya sistemi
- 'DataLakeFileClient' veya 'DataLakeDirectoryClient' aracılığıyla kullanılan yol
ADLS 2. Nesil | Blob |
---|---|
Dosya Sistemi | Kapsayıcı |
Yol (Dosya veya Dizin) | Blob |
Not: Bu istemci kitaplığı hiyerarşik ad alanı (HNS) devre dışı bırakılmış depolama hesaplarını desteklemez.
İş parçacığı güvenliği
Tüm istemci örneği yöntemlerinin iş parçacığı açısından güvenli ve birbirinden bağımsız olduğunu garanti ediyoruz (kılavuz). Bu, istemci örneklerini yeniden kullanma önerisinin iş parçacıkları arasında bile her zaman güvenli olmasını sağlar.
Ek kavramlar
İstemci seçenekleri | Yanıta | erişme Uzun süre çalışan işlemler | Hataları | işleme Tanılama | Alaycı | İstemci ömrü
Örnekler
DataLakeServiceClient Oluşturma
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);
DataLakeFileSystemClient Oluşturma
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 Oluşturma
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 Oluşturma
DataLakeDirectoryClient'dan DataLakeFileClient Oluşturma
// 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();
DataLakeFileSystemClient'dan DataLakeFileClient Oluşturma
// 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();
DataLake Dosyasına Veri Ekleme
// 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);
DataLake Dosyasından Veri Okuma
Response<FileDownloadInfo> fileContents = file.Read();
DataLake Dosya Sistemini Listeleme/Çapraz Geçiş Yapma
foreach (PathItem pathItem in filesystem.GetPaths())
{
names.Add(pathItem.Name);
}
DataLake Dosyasında İzinleri Ayarlama
// 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);
DataLake Dosyasında Erişim Denetimlerini (ACL) Ayarlama
// 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);
DataLake Dosyasında Erişim Denetimleri (ACL' ler) Alma
// Get Access Control List
PathAccessControl accessControlResponse = fileClient.GetAccessControl();
DataLake Dosyasını Yeniden Adlandırma
DataLakeFileClient renamedFileClient = fileClient.Rename("sample-file2");
DataLake Dizinini Yeniden Adlandırma
DataLakeDirectoryClient renamedDirectoryClient = directoryClient.Rename("sample-directory2");
DataLake DosyasındaKi Özellikleri Alma
// Get Properties on a File
PathProperties filePathProperties = fileClient.GetProperties();
DataLake Dizinindeki Özellikleri Alma
// Get Properties on a Directory
PathProperties directoryPathProperties = directoryClient.GetProperties();
Sorun giderme
Tüm File DataLake hizmeti işlemleri, yararlı ErrorCode
s hatalarda bir RequestFailedException oluşturur. Bu hataların çoğu kurtarılabilir.
Sonraki adımlar
DataLake örneklerimizi kullanmaya başlayın:
- Merhaba Dünya: DataLake Dosyalarını Ekleme, Okuma ve Listeleme (veya zaman uyumsuz olarak)
- Kimlik Doğrulaması: Genel erişim, paylaşılan anahtarlar, paylaşılan erişim imzaları ve Azure Active Directory ile kimlik doğrulaması yapın.
Katkıda bulunma
Bu kitaplığı oluşturma, test etme ve bu kitaplığa katkıda bulunma hakkında ayrıntılı bilgi için bkz. Depolama CONTRIBUTING.md .
Bu proje, katkı ve önerilere açıktır. Çoğu durumda, sağladığınız katkıyı kullanmamız için bize hak tanıma hakkına sahip olduğunuzu ve bu hakkı bize tanıdığınızı bildiren bir Katkıda Bulunan Lisans Sözleşmesi’ni (CLA) kabul etmeniz gerekir. Ayrıntılar için cla.microsoft.com adresini ziyaret edin.
Bu proje Microsoft Open Source Code of Conduct (Microsoft Açık Kaynak Kullanım Kuralları) belgesinde listelenen kurallara uygundur. Daha fazla bilgi için Kullanım Kuralları SSS bölümüne bakın veya ek sorular veya yorumlarla iletişime geçin opencode@microsoft.com .