.NET SDK kullanarak Data Lake Storage 1. dosya sistemi işlemleriFilesystem operations on Data Lake Storage Gen1 using the .NET SDK

Bu makalede, .NET SDK kullanarak Data Lake Storage 1. dosya sistemi işlemlerini nasıl gerçekleştireceğinizi öğreneceksiniz.In this article, you learn how to perform filesystem operations on Data Lake Storage Gen1 using the .NET SDK. Dosya sistemi işlemleri bir Data Lake Storage 1. hesapta klasör oluşturmayı, dosyaları karşıya yüklemeyi, dosyaları indirmeyi vb. içerir.Filesystem operations include creating folders in a Data Lake Storage Gen1 account, uploading files, downloading files, etc.

.NET SDK kullanarak Data Lake Storage 1. hesap yönetimi işlemlerinin nasıl yapılacağı hakkında yönergeler için bkz. .NET SDK kullanarak Data Lake Storage 1. üzerinde hesap yönetimi işlemleri.For instructions on how to do account management operations on Data Lake Storage Gen1 using the .NET SDK, see Account management operations on Data Lake Storage Gen1 using .NET SDK.

ÖnkoşullarPrerequisites

.NET uygulaması oluşturmaCreate a .NET application

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.The code sample available on GitHub walks you through the process of creating files in the store, concatenating files, downloading a file, and deleting some files in the store. Makalenin bu bölümü, kodun ana bölümlerinde sizi yönlendirir.This section of the article walks you through the main parts of the code.

  1. Visual Studio 'da Dosya menüsünü, Yeni' yi ve ardından Proje' yi seçin.In Visual Studio, select the File menu, New, and then Project.

  2. Konsol uygulaması (.NET Framework) öğesini seçin ve ardından İleri' yi seçin.Choose Console App (.NET Framework), and then select Next.

  3. Proje adı alanına girin CreateADLApplication ve ardından Oluştur' u seçin.In Project name, enter CreateADLApplication, and then select Create.

  4. NuGet paketlerini projenize ekleyin.Add the NuGet packages to your project.

    1. Çözüm Gezgini'nde proje adına sağ tıklayın ve NuGet Paketlerini Yönet'e tıklayın.Right-click the project name in the Solution Explorer and click Manage NuGet Packages.

    2. NuGet Paket Yöneticisi sekmesinde, paket kaynağının NuGet.org olarak ayarlandığından emin olun. Ayrıca, ön sürümü dahil et onay kutusunun işaretli olduğundan emin olun.In the NuGet Package Manager tab, make sure that Package source is set to nuget.org. Also, make sure the Include prerelease check box is selected.

    3. Aşağıdaki NuGet paketlerini arayıp yükleyin:Search for and install the following NuGet packages:

      • Microsoft.Azure.DataLake.Store -Bu makalede v 1.0.0 kullanılmaktadır.Microsoft.Azure.DataLake.Store - This article uses v1.0.0.
      • Microsoft.Rest.ClientRuntime.Azure.Authentication -Bu makalede v 2.3.1 kullanılmaktadır.Microsoft.Rest.ClientRuntime.Azure.Authentication - This article uses v2.3.1.

      NuGet Paket Yöneticisi 'ni kapatın.Close the NuGet Package Manager.

  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.Open Program.cs, delete the existing code, and then include the following statements to add references to namespaces.

    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.Declare the variables as shown below, and provide the values for the placeholders. Ayrıca, burada sağladığınız yerel yolun ve dosya adının bilgisayar üzerinde var olduğundan emin olun.Also, make sure the local path and file name you provide here exist on the computer.

    namespace SdkSample
    {
        class Program
        {
            private static string _adlsg1AccountName = "<DATA-LAKE-STORAGE-GEN1-NAME>.azuredatalakestore.net";
        }
    }
    

Makalenin kalan bölümlerinde, kullanılabilir .NET yöntemlerinin kimlik doğrulama, dosya yükleme vb. işlemleri yapmak için nasıl kullanılacağını görebilirsiniz.In the remaining sections of the article, you can see how to use the available .NET methods to do operations such as authentication, file upload, etc.

Kimlik DoğrulamasıAuthentication

İstemci nesnesi oluşturmaCreate client object

Aşağıdaki kod parçacığı, hizmete istek vermek için kullanılan Data Lake Storage 1. dosya sistemi istemci nesnesini oluşturur.The following snippet creates the Data Lake Storage Gen1 filesystem client object, which is used to issue requests to the service.

// Create client objects
AdlsClient client = AdlsClient.CreateClient(_adlsg1AccountName, adlCreds);

Dosya ve dizin oluşturmaCreate a file and directory

Aşağıdaki kod parçacığını uygulamanıza ekleyin.Add the following snippet to your application. Bu kod parçacığı bir dosya ve var olmayan bir üst dizin ekler.This snippet adds a file and any parent directory that does not exist.

// 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 eklemeAppend to a file

Aşağıdaki kod parçacığı Data Lake Storage 1. hesabındaki mevcut bir dosyaya veri ekler.The following snippet appends data to an existing file in Data Lake Storage Gen1 account.

// 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 okumaRead a file

Aşağıdaki kod parçacığı Data Lake Storage 1. içindeki bir dosyanın içeriğini okur.The following snippet reads the contents of a file in Data Lake Storage Gen1.

//Read file contents

using (var readStream = new StreamReader(client.GetReadStream(fileName)))
{
    string line;
    while ((line = readStream.ReadLine()) != null)
    {
        Console.WriteLine(line);
    }
}

Dosya özelliklerini almaGet file properties

Aşağıdaki kod parçacığı bir dosya veya dizin ile ilişkili özellikleri döndürür.The following snippet returns the properties associated with a file or a directory.

// Get file properties
var directoryEntry = client.GetDirectoryEntry(fileName);
PrintDirectoryEntry(directoryEntry);

Metodun tanımı, PrintDirectoryEntry GitHub 'dakiörneğin bir parçası olarak kullanılabilir.The definition of the PrintDirectoryEntry method is available as part of the sample on GitHub.

Dosyayı yeniden adlandırmaRename a file

Aşağıdaki kod parçacığı bir Data Lake Storage 1. hesabındaki mevcut bir dosyayı yeniden adlandırır.The following snippet renames an existing file in a Data Lake Storage Gen1 account.

// Rename a file
string destFilePath = "/Test/testRenameDest3.txt";
client.Rename(fileName, destFilePath, true);

Dizin listelemeEnumerate a directory

Aşağıdaki kod parçacığında bir Data Lake Storage 1. hesabındaki dizinler numaralandırılır.The following snippet enumerates directories in a Data Lake Storage Gen1 account.

// Enumerate directory
foreach (var entry in client.EnumerateDirectory("/Test"))
{
    PrintDirectoryEntry(entry);
}

Metodun tanımı, PrintDirectoryEntry GitHub 'dakiörneğin bir parçası olarak kullanılabilir.The definition of the PrintDirectoryEntry method is available as part of the sample on GitHub.

Dizinleri yinelemeli olarak silmeDelete directories recursively

Aşağıdaki kod parçacığı bir dizini ve tüm alt dizinlerini yinelemeli olarak siler.The following snippet deletes a directory, and all its subdirectories, recursively.

// Delete a directory and all its subdirectories and files
client.DeleteRecursive("/Test");

ÖrneklerSamples

Data Lake Storage 1. dosya sistemi SDK 'sının nasıl kullanılacağını gösteren birkaç örnek aşağıda verilmiştir.Here are a few samples that show how to use the Data Lake Storage Gen1 Filesystem SDK.

Ayrıca bkz.See also

Sonraki adımlarNext steps