.NET SDK kullanarak Data Lake Storage 1. Nesil dosya sistemi işlemleri
Bu makalede, .NET SDK'sını kullanarak Data Lake Storage 1. Nesil üzerinde dosya sistemi işlemlerini gerçekleştirmeyi öğreneceksiniz. Dosya sistemi işlemleri, Data Lake Storage 1. Nesil bir hesapta klasör oluşturmayı, dosyaları karşıya yüklemeyi, dosyaları indirmeyi vb. içerir.
.NET SDK'sını kullanarak Data Lake Storage 1. Nesil üzerinde hesap yönetimi işlemlerini gerçekleştirme yönergeleri için bkz. .NET SDK kullanarak Data Lake Storage 1. Nesil hesap yönetimi işlemleri.
Önkoşullar
Visual Studio 2013 veya üzeri. Bu makaledeki yönergelerde Visual Studio 2019 kullanılır.
Bir Azure aboneliği. Bkz. Azure ücretsiz deneme sürümü edinme.
1. Nesil hesabını Azure Data Lake Storage. Hesap oluşturma yönergeleri için bkz. Azure Data Lake Storage 1. Nesil'i kullanmaya başlama.
.NET uygulaması oluşturma
GitHub’da bulunan kod örneği, depoda dosya oluşturma, dosyaları birleştirme, dosya indirme ve depodaki bazı dosyaları silme işlemlerinde size yol gösterir. Makalenin bu bölümü, kodun ana bölümlerinde sizi yönlendirir.
Visual Studio'da Dosya menüsünü, Yeni'yi ve ardından Project'i seçin.
Konsol Uygulaması (.NET Framework) öğesini ve ardından İleri'yi seçin.
Proje adı alanına yazın
CreateADLApplication
ve Oluştur'u seçin.NuGet paketlerini projenize ekleyin.
Çözüm Gezgini'nde proje adına sağ tıklayın ve NuGet Paketlerini Yönet'e tıklayın.
NuGet Paket Yöneticisi sekmesinde Paket kaynağınınnuget.org olarak ayarlandığından emin olun. Ayrıca, Ön sürümü dahil et onay kutusunun seçili olduğundan emin olun.
Aşağıdaki NuGet paketlerini arayıp yükleyin:
-
Microsoft.Azure.DataLake.Store
- Bu makalede v1.0.0 kullanılır. -
Microsoft.Rest.ClientRuntime.Azure.Authentication
- Bu makalede v2.3.1 kullanılır.
NuGet Paket Yöneticisi'ni kapatın.
-
Program.cs öğesini açın, var olan kodu silin ve ardından ad alanlarına başvurular eklemek için aşağıdaki deyimleri ekleyin.
using System; using System.IO;using System.Threading; using System.Linq; using System.Text; using System.Collections.Generic; using System.Security.Cryptography.X509Certificates; // Required only if you're using an Azure AD application created with certificates using Microsoft.Rest; using Microsoft.Rest.Azure.Authentication; using Microsoft.Azure.DataLake.Store; using Microsoft.IdentityModel.Clients.ActiveDirectory;
Aşağıda gösterilen değişkenleri bildirin ve yer tutucu değerlerini sağlayın. Ayrıca, burada sağladığınız yerel yolun ve dosya adının bilgisayar üzerinde var olduğundan emin olun.
namespace SdkSample { class Program { private static string _adlsg1AccountName = "<DATA-LAKE-STORAGE-GEN1-NAME>.azuredatalakestore.net"; } }
Makalenin kalan bölümlerinde, kullanılabilir .NET yöntemlerini kullanarak kimlik doğrulaması, dosya yükleme vb. işlemleri nasıl yapacağınızı görebilirsiniz.
Kimlik Doğrulaması
- Uygulamanız için son kullanıcı kimlik doğrulaması için bkz. .NET SDK kullanarak Data Lake Storage 1. Nesil ile son kullanıcı kimlik doğrulaması.
- Uygulamanız için hizmet-hizmet kimlik doğrulaması için bkz. .NET SDK kullanarak Data Lake Storage 1. Nesil ile hizmet-hizmet kimlik doğrulaması.
İstemci nesnesi oluşturma
Aşağıdaki kod parçacığı, hizmete istek göndermek için kullanılan Data Lake Storage 1. Nesil dosya sistemi istemci nesnesini oluşturur.
// Create client objects
AdlsClient client = AdlsClient.CreateClient(_adlsg1AccountName, adlCreds);
Dosya ve dizin oluşturma
Aşağıdaki kod parçacığını uygulamanıza ekleyin. Bu kod parçacığı bir dosya ve var olmayan herhangi bir üst dizin ekler.
// Create a file - automatically creates any parent directories that don't exist
// The AdlsOutputStream preserves record boundaries - it does not break records while writing to the store
using (var stream = client.CreateFile(fileName, IfExists.Overwrite))
{
byte[] textByteArray = Encoding.UTF8.GetBytes("This is test data to write.\r\n");
stream.Write(textByteArray, 0, textByteArray.Length);
textByteArray = Encoding.UTF8.GetBytes("This is the second line.\r\n");
stream.Write(textByteArray, 0, textByteArray.Length);
}
Dosyanın sonuna ekleme
Aşağıdaki kod parçacığı verileri Data Lake Storage 1. Nesil hesabındaki mevcut bir dosyaya ekler.
// Append to existing file
using (var stream = client.GetAppendStream(fileName))
{
byte[] textByteArray = Encoding.UTF8.GetBytes("This is the added line.\r\n");
stream.Write(textByteArray, 0, textByteArray.Length);
}
Dosya okuma
Aşağıdaki kod parçacığı, Data Lake Storage 1. Nesil bir dosyanın içeriğini okur.
//Read file contents
using (var readStream = new StreamReader(client.GetReadStream(fileName)))
{
string line;
while ((line = readStream.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
Dosya özelliklerini alma
Aşağıdaki kod parçacığı bir dosya veya dizin ile ilişkili özellikleri döndürür.
// Get file properties
var directoryEntry = client.GetDirectoryEntry(fileName);
PrintDirectoryEntry(directoryEntry);
yönteminin PrintDirectoryEntry
tanımı GitHub'daki örneğin bir parçası olarak kullanılabilir.
Dosyayı yeniden adlandırma
Aşağıdaki kod parçacığı, Data Lake Storage 1. Nesil hesabındaki mevcut bir dosyayı yeniden adlandırır.
// Rename a file
string destFilePath = "/Test/testRenameDest3.txt";
client.Rename(fileName, destFilePath, true);
Dizin listeleme
Aşağıdaki kod parçacığı bir Data Lake Storage 1. Nesil hesabındaki dizinleri numaralandırır.
// Enumerate directory
foreach (var entry in client.EnumerateDirectory("/Test"))
{
PrintDirectoryEntry(entry);
}
yönteminin PrintDirectoryEntry
tanımı GitHub'daki örneğin bir parçası olarak kullanılabilir.
Dizinleri yinelemeli olarak silme
Aşağıdaki kod parçacığı bir dizini ve tüm alt dizinlerini yinelemeli olarak siler.
// Delete a directory and all its subdirectories and files
client.DeleteRecursive("/Test");
Örnekler
Data Lake Storage 1. Nesil Dosya Sistemi SDK'sının nasıl kullanılacağını gösteren birkaç örnek aşağıdadır.
Ayrıca bkz.
- .NET SDK kullanarak Data Lake Storage 1. Nesil hesap yönetimi işlemleri
- .NET SDK Başvurusu'Data Lake Storage 1. Nesil