Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Application Windows simple utilisant le AWS SDK pour .NET - SDK pour .NET (version 3)

La version 4 (V4) du SDK pour .NET est en avant-première ! Pour obtenir des informations sur cette nouvelle version en avant-première, consultez le guide du développeur AWS SDK pour .NET (version 4).

Veuillez noter que la version V4 du SDK est en cours de prévisualisation, son contenu est donc sujet à modification.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

La version 4 (V4) du SDK pour .NET est en avant-première ! Pour obtenir des informations sur cette nouvelle version en avant-première, consultez le guide du développeur AWS SDK pour .NET (version 4).

Veuillez noter que la version V4 du SDK est en cours de prévisualisation, son contenu est donc sujet à modification.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Application Windows simple utilisant le AWS SDK pour .NET

Ce didacticiel utilise AWS SDK pour .NET Windows avec Visual Studio et .NET Core. Le didacticiel explique comment utiliser le SDK pour répertorier les compartiments Amazon S3 que vous possédez et éventuellement créer un compartiment.

Vous exécuterez ce didacticiel sous Windows avec Visual Studio et .NET Core. Pour d'autres méthodes de configuration de votre environnement de développement, consultezInstallez et configurez votre chaîne d'outils.

Nécessaire pour le développement sous Windows avec Visual Studio et .NET Core :

  • Microsoft .NET Core 2.1, 3.1 ou version ultérieure

    Ceci est généralement inclus par défaut lors de l'installation d'une version récente de Visual Studio.

Note

Avant d'utiliser ces didacticiels, vous devez d'abord avoir installé votre chaîne d'outils et configuré l'authentification du SDK.

Étapes

Création du projet

  1. Ouvrez Visual Studio et créez un nouveau projet qui utilise la version C# du modèle d'application console, c'est-à-dire avec la description suivante : «... pour créer une application de ligne de commande pouvant s'exécuter sur .NET... ». Appelez le projet S3CreateAndList.

    Note

    Ne choisissez pas la version .NET Framework du modèle d'application de console ou, si c'est le cas, veillez à utiliser .NET Framework 4.7.2 ou version ultérieure.

  2. Une fois le projet nouvellement créé chargé, choisissez Tools, NuGetPackage Manager, Manage NuGet Packages for Solution.

  3. Recherchez les NuGet packages suivants et installez-les dans le projet : AWSSDK.S3AWSSDK.SecurityToken,AWSSDK.SSO, et AWSSDK.SSOOIDC

    Ce processus installe les NuGet packages à partir du gestionnaire de NuGet packages. Comme nous savons exactement de quels NuGet packages nous avons besoin pour ce didacticiel, nous pouvons effectuer cette étape dès maintenant. Il est également courant que les packages requis soient connus au cours du développement. Dans ce cas, appliquez un processus similaire pour les installer à ce moment-là.

  4. Si vous avez l'intention d'exécuter l'application à partir de l'invite de commande, ouvrez une invite de commande maintenant et accédez au dossier qui contiendra le résultat de la compilation. C'est généralement quelque chose comme çaS3CreateAndList\S3CreateAndList\bin\Debug\net6.0, mais cela dépend de votre environnement.

Créer le code

  1. Dans le projet S3CreateAndList, recherchez et ouvrez Program.cs dans l'IDE.

  2. Remplacez le contenu par le code suivant et enregistrez le fichier.

    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; } } }
  3. Générer l'application

    Note

    Si vous utilisez une ancienne version de Visual Studio, il est possible que vous obteniez une erreur de compilation similaire à la suivante :

    « La fonctionnalité « async main » n'est pas disponible dans C# 7.0. Veuillez utiliser la version linguistique 7.1 ou supérieure. »

    Si cette erreur s'affiche, configurez votre projet pour utiliser une version ultérieure de la langue. Cela se fait généralement dans les propriétés du projet, Build, Advanced.

Exécutez l'application

  1. Exécutez l'application sans arguments de ligne de commande. Faites-le soit dans l'invite de commande (si vous en avez ouvert une plus tôt), soit depuis l'IDE.

  2. Examinez le résultat pour connaître le nombre de compartiments Amazon S3 que vous possédez, le cas échéant, ainsi que leurs noms.

  3. Choisissez un nom pour un nouveau compartiment Amazon S3. Utilisez « dotnet-quicktour-s 3-1-winvs- » comme base et ajoutez-y quelque chose d'unique, comme un GUID ou votre nom. Assurez-vous de suivre les règles relatives aux noms de compartiments, telles que décrites dans la section Règles de dénomination des compartiments du guide de l'utilisateur Amazon S3.

  4. Exécutez à nouveau l'application, en fournissant cette fois le nom du compartiment.

    Dans la ligne de commande, remplacez amzn-s3-demo-bucket la commande suivante par le nom du bucket que vous avez choisi.

    S3CreateAndList amzn-s3-demo-bucket

    Ou, si vous exécutez l'application dans l'IDE, choisissez Project, S3 CreateAndList Properties, Debug et entrez le nom du bucket à cet endroit.

  5. Examinez le résultat pour voir le nouveau compartiment créé.

Nettoyage

Au cours de ce didacticiel, vous avez créé des ressources que vous pouvez choisir de nettoyer pour le moment.

  • Si vous ne souhaitez pas conserver le compartiment créé par l'application lors d'une étape précédente, supprimez-le à l'aide de la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  • Si vous ne souhaitez pas conserver votre projet .NET, supprimez le dossier S3CreateAndList de votre environnement de développement.

Étapes suivantes

Retournez au menu de visite rapide ou allez directement à la fin de cette visite rapide.

Rubrique suivante :

Étapes suivantes

Rubrique précédente :

Application multiplateforme simple
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.