

Version 4 (V4) von AWS SDK für .NET wurde veröffentlicht\$1

Informationen zu wichtigen Änderungen und zur Migration Ihrer Anwendungen finden Sie im [Migrationsthema](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html).

 [https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Erstellen einer einfachen Anwendung mit dem AWS SDK für .NET
<a name="quick-start"></a>

Dieser Abschnitt enthält grundlegende Tutorials für Entwickler, die noch nicht mit dem vertraut sind AWS SDK für .NET.

**Anmerkung**  
Bevor Sie diese Tutorials verwenden können, müssen Sie zuerst [Ihre Toolchain installiert](net-dg-dev-env.md) und die [SDK-Authentifizierung konfiguriert](creds-idc.md) haben.

Informationen zur Entwicklung von Software für bestimmte AWS Dienste sowie Codebeispiele finden Sie unter[ AWS Dienste anrufen](working-with-aws-services.md). Weitere Codebeispiele finden Sie unter[SDK für .NET (v4) Codebeispiele](csharp_code_examples.md).

**Topics**
+ [Einfache plattformübergreifende App](quick-start-s3-1-cross.md)
+ [Einfache Windows-basierte App](quick-start-s3-1-winvs.md)
+ [Nächste Schritte](quick-start-next-steps.md)

# Einfache plattformübergreifende Anwendung mit dem AWS SDK für .NET
<a name="quick-start-s3-1-cross"></a>

In diesem Tutorial werden und.NET Core für die AWS SDK für .NET plattformübergreifende Entwicklung verwendet. Das Tutorial zeigt Ihnen, wie Sie das SDK verwenden, um die [Amazon S3 S3-Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/) aufzulisten, die Sie besitzen, und optional einen Bucket zu erstellen.

Sie führen dieses Tutorial mithilfe plattformübergreifender Tools wie der .NET-Befehlszeilenschnittstelle (CLI) aus. Weitere Möglichkeiten zur Konfiguration Ihrer Entwicklungsumgebung finden Sie unter[Installation und Konfiguration Ihrer Toolchain für die AWS SDK für .NET](net-dg-dev-env.md).

**Erforderlich für plattformübergreifende .NET-Entwicklung unter Windows, Linux oder macOS:**
+ Microsoft [.NET Core SDK](https://learn.microsoft.com/en-us/dotnet/fundamentals/), Version 2.1, 3.1 oder höher, einschließlich der .NET-Befehlszeilenschnittstelle (CLI) (**`dotnet`**) und der .NET Core-Runtime.
+ Ein Code-Editor oder eine integrierte Entwicklungsumgebung (IDE), die für Ihr Betriebssystem und Ihre Anforderungen geeignet ist. Dies ist in der Regel eine, die eine gewisse Unterstützung für.NET Core bietet.

  Beispiele hierfür sind [Microsoft Visual Studio Code (VS Code)](https://code.visualstudio.com/), [JetBrains Rider](https://www.jetbrains.com/rider/) und [Microsoft Visual Studio](https://visualstudio.microsoft.com/vs/).

**Anmerkung**  
Bevor Sie diese Tutorials verwenden können, müssen Sie zuerst [Ihre Toolchain installiert](net-dg-dev-env.md) und die [SDK-Authentifizierung konfiguriert](creds-idc.md) haben.

## Schritte
<a name="s3-1-cross-steps"></a>
+ [Erstellen des Projekts](#s3-1-cross-create-project)
+ [Erstellen des Codes](#s3-1-cross-code)
+ [Führen Sie die Anwendung aus.](#s3-1-cross-run)
+ [Bereinigen](#s3-1-cross-clean-up)

## Erstellen des Projekts
<a name="s3-1-cross-create-project"></a>

1. Öffnen Sie die Befehlszeile oder das Terminal. Suchen oder erstellen Sie einen Betriebssystemordner, unter dem Sie ein .NET-Projekt erstellen können.

1. Führen Sie in diesem Ordner den folgenden Befehl aus, um das .NET-Projekt zu erstellen.

   ```
   dotnet new console --name S3CreateAndList
   ```

1. Gehen Sie zu dem neu erstellten `S3CreateAndList` Ordner und führen Sie die folgenden Befehle aus:

   ```
   dotnet add package AWSSDK.S3
   dotnet add package AWSSDK.SecurityToken
   dotnet add package AWSSDK.SSO
   dotnet add package AWSSDK.SSOOIDC
   ```

   Mit den vorherigen Befehlen werden die NuGet Pakete über den [NuGet Paketmanager](https://www.nuget.org/profiles/awsdotnet) installiert. Da wir genau wissen, welche NuGet Pakete wir für dieses Tutorial benötigen, können wir diesen Schritt jetzt ausführen. Es ist auch üblich, dass die benötigten Pakete während der Entwicklung bekannt werden. Wenn dies geschieht, kann zu diesem Zeitpunkt ein ähnlicher Befehl ausgeführt werden.

## Erstellen des Codes
<a name="s3-1-cross-code"></a>

1. Suchen Sie `Program.cs` im `S3CreateAndList`-Ordner und öffnen Sie es in Ihrem Code-Editor.

1. Ersetzen Sie den Inhalt durch den folgenden Code und speichern Sie die Datei.

   ```
   using System;
   using System.Threading.Tasks;
   
   // NuGet packages: AWSSDK.S3, AWSSDK.SecurityToken, AWSSDK.SSO, AWSSDK.SSOOIDC
   using Amazon.Runtime;
   using Amazon.Runtime.CredentialManagement;
   using Amazon.S3;
   using Amazon.S3.Model;
   using Amazon.SecurityToken;
   using Amazon.SecurityToken.Model;
   
   namespace S3CreateAndList
   {
       class Program
       {
           // This code is part of the quick tour in the developer guide.
           // See https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/quick-start.html
           // for complete steps.
           // Requirements:
           // - An SSO profile in the SSO user's shared config file with sufficient privileges for
   		//   STS and S3 buckets.
           // - An active SSO Token.
           //    If an active SSO token isn't available, the SSO user should do the following:
           //    In a terminal, the SSO user must call "aws sso login".
   
           // Class members.
           static async Task Main(string[] args)
           {
               // Get SSO credentials from the information in the shared config file.
               // For this tutorial, the information is in the [default] profile.
               var ssoCreds = LoadSsoCredentials("default");
   
               // Display the caller's identity.
               var ssoProfileClient = new AmazonSecurityTokenServiceClient(ssoCreds);
               Console.WriteLine($"\nSSO Profile:\n {await ssoProfileClient.GetCallerIdentityArn()}");
   
               // Create the S3 client is by using the SSO credentials obtained earlier.
               var s3Client = new AmazonS3Client(ssoCreds);
   
               // Parse the command line arguments for the bucket name.
               if (GetBucketName(args, out String bucketName))
               {
                   // If a bucket name was supplied, create the bucket.
                   // Call the API method directly
                   try
                   {
                       Console.WriteLine($"\nCreating bucket {bucketName}...");
                       var createResponse = await s3Client.PutBucketAsync(bucketName);
                       Console.WriteLine($"Result: {createResponse.HttpStatusCode.ToString()}");
                   }
                   catch (Exception e)
                   {
                       Console.WriteLine("Caught exception when creating a bucket:");
                       Console.WriteLine(e.Message);
                   }
               }
   
               // Display a list of the account's S3 buckets.
               Console.WriteLine("\nGetting a list of your buckets...");
               var listResponse = await s3Client.ListBucketsAsync();
               Console.WriteLine($"Number of buckets: {listResponse.Buckets.Count}");
               foreach (S3Bucket b in listResponse.Buckets)
               {
                   Console.WriteLine(b.BucketName);
               }
               Console.WriteLine();
           }
   
           // 
           // Method to parse the command line.
           private static Boolean GetBucketName(string[] args, out String bucketName)
           {
               Boolean retval = false;
               bucketName = String.Empty;
               if (args.Length == 0)
               {
                   Console.WriteLine("\nNo arguments specified. Will simply list your Amazon S3 buckets." +
                     "\nIf you wish to create a bucket, supply a valid, globally unique bucket name.");
                   bucketName = String.Empty;
                   retval = false;
               }
               else if (args.Length == 1)
               {
                   bucketName = args[0];
                   retval = true;
               }
               else
               {
                   Console.WriteLine("\nToo many arguments specified." +
                     "\n\ndotnet_tutorials - A utility to list your Amazon S3 buckets and optionally create a new one." +
                     "\n\nUsage: S3CreateAndList [bucket_name]" +
                     "\n - bucket_name: A valid, globally unique bucket name." +
                     "\n - If bucket_name isn't supplied, this utility simply lists your buckets.");
                   Environment.Exit(1);
               }
               return retval;
           }
   
           //
           // Method to get SSO credentials from the information in the shared config file.
           static AWSCredentials LoadSsoCredentials(string profile)
           {
               var chain = new CredentialProfileStoreChain();
               if (!chain.TryGetAWSCredentials(profile, out var credentials))
                   throw new Exception($"Failed to find the {profile} profile");
               return credentials;
           }
       }
   
       // Class to read the caller's identity.
       public static class Extensions
       {
           public static async Task<string> GetCallerIdentityArn(this IAmazonSecurityTokenService stsClient)
           {
               var response = await stsClient.GetCallerIdentityAsync(new GetCallerIdentityRequest());
               return response.Arn;
           }
       }
   }
   ```

## Führen Sie die Anwendung aus.
<a name="s3-1-cross-run"></a>

1. Führen Sie den folgenden Befehl aus.

   ```
   dotnet run
   ```

1. Untersuchen Sie die Ausgabe, um die Anzahl der Amazon S3 S3-Buckets, die Sie besitzen, falls vorhanden, und deren Namen zu sehen.

1. Wählen Sie einen Namen für einen neuen Amazon S3 S3-Bucket. Verwenden Sie "dotnet-quicktour-s3-1-cross-“ als Basis und fügen Sie etwas Einzigartiges hinzu, z. B. eine GUID oder Ihren Namen. Beachten Sie unbedingt die Regeln für Bucket-Namen, wie sie unter [Regeln für die Bucket-Benennung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules) im [Amazon S3 S3-Benutzerhandbuch](https://docs.aws.amazon.com/AmazonS3/latest/userguide/) beschrieben sind.

1. Führen Sie den folgenden Befehl aus und *amzn-s3-demo-bucket* ersetzen Sie ihn durch den Namen des von Ihnen ausgewählten Buckets.

   ```
   dotnet run amzn-s3-demo-bucket
   ```

1. Untersuchen Sie die Ausgabe, um den neuen Bucket anzuzeigen, der erstellt wurde.

## Bereinigen
<a name="s3-1-cross-clean-up"></a>

Während der Durchführung dieses Tutorials haben Sie einige Ressourcen erstellt, die Sie zu diesem Zeitpunkt bereinigen können.
+ Wenn Sie den Bucket, den die Anwendung in einem früheren Schritt erstellt hat, nicht behalten möchten, löschen Sie ihn mithilfe der Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).
+ Wenn Sie Ihr .NET-Projekt nicht beibehalten möchten, entfernen Sie den `S3CreateAndList`-Ordner aus Ihrer Entwicklungsumgebung.

## Nächste Schritte
<a name="s3-1-cross-next"></a>

Kehren Sie zum [Schnell-Tour-Menü](quick-start.md) zurück oder fahren Sie direkt zum [Ende dieser Kurztour](quick-start-next-steps.md) fort.

# Einfache Windows-basierte Anwendung mit dem AWS SDK für .NET
<a name="quick-start-s3-1-winvs"></a>

In diesem Tutorial wird das AWS SDK für .NET unter Windows mit Visual Studio und.NET Core verwendet. Das Tutorial zeigt Ihnen, wie Sie das SDK verwenden, um die [Amazon S3 S3-Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/) aufzulisten, die Sie besitzen, und optional einen Bucket zu erstellen.

Sie führen dieses Tutorial unter Windows mithilfe von Visual Studio und .NET Core aus. Weitere Möglichkeiten zur Konfiguration Ihrer Entwicklungsumgebung finden Sie unter[Installation und Konfiguration Ihrer Toolchain für die AWS SDK für .NET](net-dg-dev-env.md).

**Für die Entwicklung unter Windows mit Visual Studio und.NET Core erforderlich:**
+ [Microsoft Visual Studio](https://visualstudio.microsoft.com/vs/)
+ Microsoft .NET Core 2.1, 3.1 oder höher

  Dies ist normalerweise standardmäßig enthalten, wenn eine aktuelle Version von Visual Studio installiert wird.

**Anmerkung**  
Bevor Sie diese Tutorials verwenden können, müssen Sie zuerst [Ihre Toolchain installiert](net-dg-dev-env.md) und die [SDK-Authentifizierung konfiguriert](creds-idc.md) haben.

## Schritte
<a name="s3-1-winvs-steps"></a>
+ [Erstellen des Projekts](#s3-1-winvs-create-project)
+ [Erstellen des Codes](#s3-1-winvs-code)
+ [Führen Sie die Anwendung aus.](#s3-1-winvs-run)
+ [Bereinigen](#s3-1-winvs-clean-up)

## Erstellen des Projekts
<a name="s3-1-winvs-create-project"></a>

1. Öffnen Sie Visual Studio und erstellen Sie ein neues Projekt, das die C\$1-Version der **Konsolen-App-Vorlage** verwendet, d. h. mit der Beschreibung: „... zum Erstellen einer Befehlszeilenanwendung, die auf.NET ausgeführt werden kann...“. Benennen Sie das Projekt `S3CreateAndList`.
**Anmerkung**  
Wählen Sie nicht die. NET Framework-Version der Konsolen-App-Vorlage aus, und wenn ja, stellen Sie sicher, dass Sie.NET Framework 4.7.2 oder höher verwenden.

1. Wenn das neu erstellte Projekt geladen ist, wählen Sie **Tools**, **NuGetPackage Manager, Manage NuGet ** **Packages for Solution**.

1. Suchen Sie nach den folgenden NuGet Paketen und installieren Sie sie im Projekt: `AWSSDK.S3``AWSSDK.SecurityToken`,`AWSSDK.SSO`, und `AWSSDK.SSOOIDC`

   Bei diesem Vorgang werden die NuGet Pakete über den [NuGet Paketmanager](https://www.nuget.org/profiles/awsdotnet) installiert. Da wir genau wissen, welche NuGet Pakete wir für dieses Tutorial benötigen, können wir diesen Schritt jetzt ausführen. Es ist auch üblich, dass die benötigten Pakete während der Entwicklung bekannt werden. Wenn dies geschieht, folgen Sie einem ähnlichen Prozess, um sie zum jeweiligen Zeitpunkt zu installieren.

1. Wenn Sie beabsichtigen, die Anwendung von der Befehlszeile aus auszuführen, öffnen Sie jetzt eine Befehlszeile und navigieren Sie zu dem Ordner, der die Build-Ausgabe enthalten soll. Das ist in der Regel so`S3CreateAndList\S3CreateAndList\bin\Debug\net6.0`, hängt aber von Ihrer Umgebung ab.

## Erstellen des Codes
<a name="s3-1-winvs-code"></a>

1. Suchen Sie im `S3CreateAndList`-Projekt `Program.cs` und öffnen Sie es in der IDE.

1. Ersetzen Sie den Inhalt durch den folgenden Code und speichern Sie die Datei.

   ```
   using System;
   using System.Threading.Tasks;
   
   // NuGet packages: AWSSDK.S3, AWSSDK.SecurityToken, AWSSDK.SSO, AWSSDK.SSOOIDC
   using Amazon.Runtime;
   using Amazon.Runtime.CredentialManagement;
   using Amazon.S3;
   using Amazon.S3.Model;
   using Amazon.SecurityToken;
   using Amazon.SecurityToken.Model;
   
   namespace S3CreateAndList
   {
       class Program
       {
           // This code is part of the quick tour in the developer guide.
           // See https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/quick-start.html
           // for complete steps.
           // Requirements:
           // - An SSO profile in the SSO user's shared config file with sufficient privileges for
   		//   STS and S3 buckets.
           // - An active SSO Token.
           //    If an active SSO token isn't available, the SSO user should do the following:
           //    In a terminal, the SSO user must call "aws sso login".
   
           // Class members.
           static async Task Main(string[] args)
           {
               // Get SSO credentials from the information in the shared config file.
               // For this tutorial, the information is in the [default] profile.
               var ssoCreds = LoadSsoCredentials("default");
   
               // Display the caller's identity.
               var ssoProfileClient = new AmazonSecurityTokenServiceClient(ssoCreds);
               Console.WriteLine($"\nSSO Profile:\n {await ssoProfileClient.GetCallerIdentityArn()}");
   
               // Create the S3 client is by using the SSO credentials obtained earlier.
               var s3Client = new AmazonS3Client(ssoCreds);
   
               // Parse the command line arguments for the bucket name.
               if (GetBucketName(args, out String bucketName))
               {
                   // If a bucket name was supplied, create the bucket.
                   // Call the API method directly
                   try
                   {
                       Console.WriteLine($"\nCreating bucket {bucketName}...");
                       var createResponse = await s3Client.PutBucketAsync(bucketName);
                       Console.WriteLine($"Result: {createResponse.HttpStatusCode.ToString()}");
                   }
                   catch (Exception e)
                   {
                       Console.WriteLine("Caught exception when creating a bucket:");
                       Console.WriteLine(e.Message);
                   }
               }
   
               // Display a list of the account's S3 buckets.
               Console.WriteLine("\nGetting a list of your buckets...");
               var listResponse = await s3Client.ListBucketsAsync();
               Console.WriteLine($"Number of buckets: {listResponse.Buckets.Count}");
               foreach (S3Bucket b in listResponse.Buckets)
               {
                   Console.WriteLine(b.BucketName);
               }
               Console.WriteLine();
           }
   
           // 
           // Method to parse the command line.
           private static Boolean GetBucketName(string[] args, out String bucketName)
           {
               Boolean retval = false;
               bucketName = String.Empty;
               if (args.Length == 0)
               {
                   Console.WriteLine("\nNo arguments specified. Will simply list your Amazon S3 buckets." +
                     "\nIf you wish to create a bucket, supply a valid, globally unique bucket name.");
                   bucketName = String.Empty;
                   retval = false;
               }
               else if (args.Length == 1)
               {
                   bucketName = args[0];
                   retval = true;
               }
               else
               {
                   Console.WriteLine("\nToo many arguments specified." +
                     "\n\ndotnet_tutorials - A utility to list your Amazon S3 buckets and optionally create a new one." +
                     "\n\nUsage: S3CreateAndList [bucket_name]" +
                     "\n - bucket_name: A valid, globally unique bucket name." +
                     "\n - If bucket_name isn't supplied, this utility simply lists your buckets.");
                   Environment.Exit(1);
               }
               return retval;
           }
   
           //
           // Method to get SSO credentials from the information in the shared config file.
           static AWSCredentials LoadSsoCredentials(string profile)
           {
               var chain = new CredentialProfileStoreChain();
               if (!chain.TryGetAWSCredentials(profile, out var credentials))
                   throw new Exception($"Failed to find the {profile} profile");
               return credentials;
           }
       }
   
       // Class to read the caller's identity.
       public static class Extensions
       {
           public static async Task<string> GetCallerIdentityArn(this IAmazonSecurityTokenService stsClient)
           {
               var response = await stsClient.GetCallerIdentityAsync(new GetCallerIdentityRequest());
               return response.Arn;
           }
       }
   }
   ```

1. Erstellen Sie die Anwendung
**Anmerkung**  
Wenn Sie eine ältere Version von Visual Studio verwenden, wird möglicherweise ein Buildfehler ähnlich dem folgenden angezeigt:  
„Die Funktion 'Async Main' ist in C\$1 7.0 nicht verfügbar. Bitte verwenden Sie die Sprachversion 7.1 oder höher.“  
Wenn Sie diesen Fehler erhalten, richten Sie Ihr Projekt so ein, dass es eine neuere Version der Sprache verwendet. Dies erfolgt in der Regel in den Projekteigenschaften **Build**, **Advanced**.

## Führen Sie die Anwendung aus.
<a name="s3-1-winvs-run"></a>

1. Führen Sie die Anwendung ohne Befehlszeilenargumente aus. Tun Sie dies entweder in der Befehlszeile (falls Sie zuvor eine geöffnet haben) oder in der IDE.

1. Untersuchen Sie die Ausgabe, um die Anzahl der Amazon S3 S3-Buckets, die Sie besitzen, falls vorhanden, und deren Namen zu sehen.

1. Wählen Sie einen Namen für einen neuen Amazon S3 S3-Bucket. Verwenden Sie "dotnet-quicktour-s3-1-winvs-“ als Basis und fügen Sie etwas Einzigartiges hinzu, z. B. eine GUID oder Ihren Namen. Beachten Sie unbedingt die Regeln für Bucket-Namen, wie sie unter [Regeln für die Bucket-Benennung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules) im [Amazon S3 S3-Benutzerhandbuch](https://docs.aws.amazon.com/AmazonS3/latest/userguide/) beschrieben sind.

1. Führen Sie die Anwendung erneut aus und geben Sie diesmal den Bucket-Namen an.

   Ersetzen Sie *amzn-s3-demo-bucket* in der Befehlszeile den folgenden Befehl durch den Namen des Buckets, den Sie ausgewählt haben.

   ```
   S3CreateAndList amzn-s3-demo-bucket
   ```

   Oder, wenn Sie die Anwendung in der IDE ausführen, wählen Sie **Project**, **S3 CreateAndList Properties**, **Debug** und geben Sie dort den Bucket-Namen ein.

1. Untersuchen Sie die Ausgabe, um den neuen Bucket anzuzeigen, der erstellt wurde.

## Bereinigen
<a name="s3-1-winvs-clean-up"></a>

Während der Durchführung dieses Tutorials haben Sie einige Ressourcen erstellt, die Sie zu diesem Zeitpunkt bereinigen können.
+ Wenn Sie den Bucket, den die Anwendung in einem früheren Schritt erstellt hat, nicht behalten möchten, löschen Sie ihn mithilfe der Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).
+ Wenn Sie Ihr .NET-Projekt nicht beibehalten möchten, entfernen Sie den `S3CreateAndList`-Ordner aus Ihrer Entwicklungsumgebung.

## Nächste Schritte
<a name="s3-1-winvs-next"></a>

Kehren Sie zum [Schnell-Tour-Menü](quick-start.md) zurück oder fahren Sie direkt zum [Ende dieser Kurztour](quick-start-next-steps.md) fort.

# Nächste Schritte
<a name="quick-start-next-steps"></a>

Stellen Sie sicher, dass Sie alle Ressourcen bereinigen, die Sie während der Durchführung dieser Tutorials erstellt haben. Dies können AWS Ressourcen oder Ressourcen in Ihrer Entwicklungsumgebung sein, z. B. Dateien und Ordner.

Nachdem Sie das besichtigt haben AWS SDK für .NET, möchten Sie vielleicht [mit Ihrem Projekt beginnen](net-dg-start-new-project.md).