Erste Schritte mit Azure Data Lake-Speicher mithilfe des .NET SDK

Download | Deutsch | Anspruch

Erfahren Sie, wie Sie mithilfe des .NET SDK für Azure Data Lake-Speicher ein Azure Data Lake-Konto erstellen und grundlegende Vorgänge ausführen, z. B. Ordner erstellen, Datendateien hoch- und herunterladen, Ihr Konto löschen usw. Weitere Informationen über Data Lake finden Sie unter Übersicht über Azure Data Lake-Speicher.

Voraussetzungen

  • Visual Studio 2013 oder 2015 Die folgenden Anweisungen verwenden Visual Studio 2015.
  • Ein Azure-Abonnement. Siehe Kostenlose Azure-Testversion.
  • Aktiviertes Azure-Abonnement für die öffentliche Vorschauversion des Data Lake-Speichers. Weitere Informationen finden Sie in den Anweisungen.
  • Erstellen einer Azure Active Directory-Anwendung. Zur Authentifizierung mithilfe von Azure Active Directory stehen Ihnen zwei Möglichkeiten zur Verfügung: interaktiv und nicht interaktiv. Je nach der gewählten Authentifizierung gelten unterschiedliche Voraussetzungen.

    • Interaktive Authentifizierung (die in diesem Artikel verwendet wird) – Sie müssen in Azure Active Directory eine native Clientanwendung erstellen. Nach dem Erstellen der Anwendung rufen Sie die folgenden Werte ab, die mit der Anwendung in Zusammenhang stehen.
      • Abrufen von Client-ID und Umleitungs-URI für die Anwendung
      • Festlegen der delegierten Berechtigungen
    • Nicht interaktive Authentifizierung – Sie müssen in Azure Active Directory eineWebanwendung erstellen. Nach dem Erstellen der Anwendung rufen Sie die folgenden Werte ab, die mit der Anwendung in Zusammenhang stehen.
      • Abrufen von Client-ID,geheimem Clientschlüssel und Umleitungs-URI für die Anwendung
      • Festlegen der delegierten Berechtigungen
      • Weisen Sie die Azure Active Directory-Anwendung einer Rolle zu. Die Rolle kann sich auf der Ebene des Bereichs befinden, auf der Sie die Berechtigung für die Azure Active Directory-Anwendung gewähren möchten. Beispielsweise können Sie die Anwendung auf Abonnementebene oder auf der Ebene einer Ressourcengruppe zuweisen.

    Anweisungen dazu, wie Sie diese Werte abrufen, Berechtigungen festlegen und Rollen zuweisen können, finden Sie unter Erstellen einer Active Directory-Anwendung und eines Dienstprinzipals mithilfe des Portals.

Erstellen einer .NET-Anwendung

  1. Öffnen Sie Visual Studio, und erstellen Sie eine Konsolenanwendung.

  2. Klicken Sie im Menü Datei auf Neu und dann auf Projekt.

  3. Unter Neues Projekt können Sie die folgenden Werte eingeben bzw. auswählen:

    EigenschaftWert
    KategorieVorlagen/Visual C#/Windows
    VorlageKonsolenanwendung
    NameCreateADLApplication
  4. Klicken Sie auf OK, um das Projekt zu erstellen.

  5. Fügen Sie Ihrem Projekt die Nuget-Pakete hinzu.

    1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen und dann auf NuGet-Pakete verwalten.
    2. Stellen Sie auf der Registerkarte NuGet-Paket-Manager sicher, dass Paketquelle aufnuget.org festgelegt und das Kontrollkästchen Vorabversion einbeziehen aktiviert ist.
    3. Suchen und installieren Sie folgende Pakete für den Data Lake-Speicher:

      • Microsoft.Azure.Management.DataLake.Store
      • Microsoft.Azure.Management.DataLake.StoreUploader

      Hinzufügen einer Nuget-Quelle

    4. Installieren Sie außerdem das PaketMicrosoft.IdentityModel.Clients.ActiveDirectory für die Authentifizierung in Azure Active Directory. Deaktivieren Sie das Kontrollkästchen Vorabversion einbeziehenunbedingt, damit eine stabile Version dieses Pakets installiert wird.

      Hinzufügen einer Nuget-Quelle

    5. Schließen Sie den NuGet-Paket-Manager.

  6. Öffnen Sie Program.cs, löschen Sie den vorhandenen Code, und fügen Sie dann die folgenden Anweisungen ein, um Verweise auf Namespaces hinzuzufügen.

    Copy
    using System; using System.IO; using System.Security; using System.Text; using System.Collections.Generic; using System.Linq; using Microsoft.Azure.Management.DataLake.Store; using Microsoft.Azure.Management.DataLake.Store.Models; using Microsoft.Azure.Management.DataLake.StoreUploader; using Microsoft.IdentityModel.Clients.ActiveDirectory; using Microsoft.Rest;
  7. Deklarieren Sie die Variablen wie unten gezeigt, und geben Sie die Werte für den Data Lake-Speichernamen und den Ressourcengruppennamen an. Der von Ihnen angegebene Data Lake-Speichername wird von der Anwendung erstellt. Die Ressourcengruppe, die Sie hier bereitstellen, sollte bereits vorhanden sein. Stellen Sie außerdem sicher, dass der hier angegebene lokale Pfad und der Dateiname auf dem Computer vorhanden sind. Fügen Sie nach den Namespacedeklarationen den folgenden Codeausschnitt hinzu.

    Copy
    namespace SdkSample { class Program { private static DataLakeStoreAccountManagementClient _adlsClient; private static DataLakeStoreFileSystemManagementClient _adlsFileSystemClient; private static string _adlsAccountName; private static string _resourceGroupName; private static string _location; private static void Main(string[] args) { _adlsAccountName = ""; // TODO: Replace this value with the name for a NEW Store account. _resourceGroupName = ""; // TODO: Replace this value. This resource group should already exist. _location = "East US 2"; string localFolderPath = @"C:\local_path"; // TODO: Make sure this exists and can be overwritten. string localFilePath = localFolderPath + "file.txt"; // TODO: Make sure this exists and can be overwritten. string remoteFolderPath = "/data_lake_path/"; string remoteFilePath = remoteFolderPath + "file.txt"; } } }

In den restlichen Abschnitten dieses Artikels erfahren Sie, wie Sie die verfügbaren .NET-Methoden verwenden, um Vorgänge wie das Authentifizieren von Benutzern, Erstellen eines Data Lake-Speicherkontos, Hochladen von Dateien usw. durchzuführen. Ein vollständiges Beispiel zur Verwendung von Data Lake-Speicher finden Sie unten im Anhang dieses Artikels.

Authentifizieren des Benutzers

Es gibt zwei Möglichkeiten für die Authentifizierung mit Azure Active Directory:

  • Interaktiv: Ein Benutzer meldet sich über die Anwendung an. Diese Option wird in derAuthenticateUser-Methode im folgenden Codeausschnitt implementiert.

  • Nicht interaktiv: Hierbei stellt die Anwendung eigene Anmeldeinformationen bereit. Diese Option wird in der AuthenticateAppliaction-Methode im folgenden Codeausschnitt implementiert.

Interaktive Authentifizierung

Im folgenden Codeausschnitt wird eine AuthenticateUser-Methode veranschaulicht, die Sie für die interaktive Anmeldung verwenden können.

Copy
// Authenticate the user with AAD through an interactive popup. // You need to have an application registered with AAD in order to authenticate. // For more information and instructions on how to register your application with AAD, see: // https://azure.microsoft.com/documentation/articles/resource-group-create-service-principal-portal/ public static TokenCredentials AuthenticateUser(string tenantId, string resource, string appClientId, Uri appRedirectUri, string userId = "") { var authContext = new AuthenticationContext("https://login.microsoftonline.com/" + tenantId); var tokenAuthResult = authContext.AcquireToken(resource, appClientId, appRedirectUri, PromptBehavior.Auto, UserIdentifier.AnyUser); return new TokenCredentials(tokenAuthResult.AccessToken); }

Nicht interaktive Authentifizierung

Im folgenden Codeausschnitt wird eine AuthenticateApplication-Methode veranschaulicht, die Sie für die nicht interaktive Anmeldung verwenden können.

Copy
// Authenticate the application with AAD through the application's secret key. // You need to have an application registered with AAD in order to authenticate. // For more information and instructions on how to register your application with AAD, see: // https://azure.microsoft.com/documentation/articles/resource-group-create-service-principal-portal/ public static TokenCredentials AuthenticateApplication(string tenantId, string resource, string appClientId, Uri appRedirectUri, SecureString clientSecret) { var authContext = new AuthenticationContext("https://login.microsoftonline.com/" + tenantId); var credential = new ClientCredential(appClientId, clientSecret); var tokenAuthResult = authContext.AcquireToken(resource, credential); return new TokenCredentials(tokenAuthResult.AccessToken); }

Erstellen eines Data Lake-Speicherkontos

Im folgenden Codeausschnitt wird eine CreateAccount-Methode veranschaulicht, die Sie zum Erstellen eines Data Lake-Speicherkontos verwenden können.

Copy
// Create Data Lake Store account public static void CreateAccount() { var adlsParameters = new DataLakeStoreAccount(location: _location); _adlsClient.Account.Create(_resourceGroupName, _adlsAccountName, adlsParameters); } 

Auflisten aller Data Lake-Speicherkonten in einem Abonnement

Im folgenden Codeausschnitt wird eine ListAdlStoreAccounts-Methode veranschaulicht, die Sie zum Auflisten aller Data Lake-Speicherkonten in einem Azure-Abonnement verwenden können.

Copy
// List all ADLS accounts within the subscription public static List<DataLakeStoreAccount> ListAdlStoreAccounts() { var response = _adlsClient.Account.List(_adlsAccountName); var accounts = new List<DataLakeStoreAccount>(response); while (response.NextPageLink != null) { response = _adlsClient.Account.ListNext(response.NextPageLink); accounts.AddRange(response); } return accounts; }

Erstellen eines Verzeichnisses

URL Erste Schritte mit Azure Data Lake-Speicher mithilfe des .NET SDK

Tags

Diese Seite weiterempfehlen