Share via


.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

.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.

  1. Visual Studio'da Dosya menüsünü, Yeni'yi ve ardından Project'i seçin.

  2. Konsol Uygulaması (.NET Framework) öğesini ve ardından İleri'yi seçin.

  3. Proje adı alanına yazın CreateADLApplicationve Oluştur'u seçin.

  4. NuGet paketlerini projenize ekleyin.

    1. Çözüm Gezgini'nde proje adına sağ tıklayın ve NuGet Paketlerini Yönet'e tıklayın.

    2. 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.

    3. 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.

  5. 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;
    
  6. 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ı

İ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.

Sonraki adımlar