Activation et utilisation de S3 Transfer Acceleration - Amazon Simple Storage Service

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.

Activation et utilisation de S3 Transfer Acceleration

Vous pouvez utiliser les fichiers de transfert Amazon S3 Transfer Acceleration rapidement et en toute sécurité sur de longues distances entre votre client et un compartiment S3. Vous pouvez activer l'accélération des transferts à l'aide de la console S3, du AWS Command Line Interface (AWS CLI), de l'API ou AWS des SDK.

Cette section propose des exemples d'activation d'Amazon S3 Transfer Acceleration sur un compartiment et d'utilisation du point de terminaison d'accélération pour le compartiment activé.

Pour en savoir plus sur les exigences de Transfer Acceleration, veuillez consulter Configuration de transferts de fichiers rapides et sécurisés à l'aide d'Amazon S3 Transfer Acceleration.

Note

Si vous souhaitez comparer les vitesses de chargement accéléré et non accéléré, ouvrez l'Outil de comparaison de la vitesse d'Amazon S3 Transfer Acceleration.

L'outil de comparaison de vitesse utilise le téléchargement en plusieurs parties pour transférer un fichier de votre navigateur vers différents navigateurs Régions AWS avec et sans accélération de transfert Amazon S3. Vous pouvez comparer la vitesse de téléchargement des téléchargements directs et transférer des téléchargements accélérés par Région.

Pour activer Transfer Acceleration pour un compartiment S3
  1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans la liste Compartiments, choisissez le nom du compartiment pour lequel vous souhaitez activer Transfer Acceleration.

  3. Choisissez Propriétés.

  4. Sous Transfer acceleration (Accélération du transfert), choisissez Edit (Modifier).

  5. Choisissez Enable (Activer), puis Save changes (Enregistrer les modifications).

Pour accéder à des transferts de données accélérés
  1. Une fois qu'Amazon S3 active l'accélération du transfert pour votre compartiment, affichez l'onglet Propriétés pour le compartiment.

  2. Sous Transfer acceleration (Accélération du transfert), Accelerated endpoint (Point de terminaison accéléré) affiche le point de terminaison Transfer Acceleration pour votre compartiment. Utilisez ce point de terminaison pour accéder à des transferts de données accélérés vers et depuis votre compartiment.

    Si vous interrompez Transfer Acceleration, le point de terminaison de l'accélération ne fonctionne plus.

Voici des exemples de AWS CLI commandes utilisées pour l'accélération des transferts. Pour obtenir des instructions sur la configuration du AWS CLI, voirDéveloppement avec Amazon S3 à l'aide de la AWS CLI.

Activation de Transfer Acceleration sur un compartiment

Utilisez la AWS CLI put-bucket-accelerate-configurationcommande pour activer ou suspendre l'accélération du transfert sur un bucket.

L'exemple suivant définit Status=Enabled pour activer Transfer Acceleration sur un compartiment. Vous utilisez Status=Suspended pour suspendre Transfer Acceleration.

$ aws s3api put-bucket-accelerate-configuration --bucket bucketname --accelerate-configuration Status=Enabled

Utilisation de Transfer Acceleration

Vous pouvez diriger toutes les demandes Amazon S3 effectuées par les AWS CLI commandes s3 et s3api vers le point de terminaison accéléré :. s3-accelerate.amazonaws.com Pour ce faire, définissez la valeur de configuration use_accelerate_endpoint sur true dans un profil de votre fichier AWS Config. Transfer Acceleration doit être activé sur votre compartiment si vous souhaitez utiliser le point de terminaison d'accélération.

Toutes les demandes sont envoyées en utilisant le style virtuel de l'adressage de compartiment : my-bucket.s3-accelerate.amazonaws.com. Les requêtes ListBuckets, CreateBucket et DeleteBucket ne sont pas envoyées au point de terminaison d'accélération, car celui-ci ne prend pas en charge ces opérations.

Pour plus d’informations sur use_accelerate_endpoint, consultez Configuration S3 d’AWS CLI dans la Référence des commandes AWS CLI .

L'exemple suivant définit use_accelerate_endpoint sur true dans le profil par défaut.

$ aws configure set default.s3.use_accelerate_endpoint true

Si vous souhaitez utiliser le point de terminaison d'accélération pour certaines AWS CLI commandes mais pas pour d'autres, vous pouvez utiliser l'une des deux méthodes suivantes :

  • Utilisez le point de terminaison d'accélération pour toutes les commandes s3 ou s3api en définissant le paramètre --endpoint-url sur https://s3-accelerate.amazonaws.com.

  • Configurez des profils distincts dans votre fichier AWS Config. Par exemple, vous pouvez créer un profil qui définit use_accelerate_endpoint sur true et un profil qui ne définit pas use_accelerate_endpoint. Lorsque vous exécutez une commande, spécifiez le profil que vous souhaitez utiliser en fonction de votre intention d'utiliser le point de terminaison d'accélération.

Chargement d'un objet dans un compartiment activé pour Transfer Acceleration

L'exemple suivant charge un fichier sur un compartiment activé pour Transfer Acceleration en utilisant le profil par défaut qui a été configuré pour utiliser le point de terminaison d'accélération.

$ aws s3 cp file.txt s3://bucketname/keyname --region region

L'exemple suivant charge un fichier sur un compartiment activé pour Transfer Acceleration en utilisant le paramètre --endpoint-url pour spécifier le point de terminaison d'accélération.

$ aws configure set s3.addressing_style virtual $ aws s3 cp file.txt s3://bucketname/keyname --region region --endpoint-url https://s3-accelerate.amazonaws.com

Voici des exemples d'utilisation de Transfer Acceleration pour charger des objets sur Amazon S3 à l'aide du AWS SDK. Certains langages pris en charge par le AWS SDK (par exemple, Java et .NET) utilisent un indicateur de configuration du client de point de terminaison accéléré. Il n'est donc pas nécessaire de définir explicitement le point de terminaison pour Transfer Acceleration sur bucketname .s3-accelerate.amazonaws.com.

Java

L'exemple suivant montre comment utiliser un point de terminaison d'accélération pour charger un objet sur Amazon S3. Cet exemple effectue les opérations suivantes :

  • Crée un AmazonS3Client configuré pour utiliser les points de terminaison d'accélération. Tous les compartiments auxquels le client accède doivent avoir la fonction Transfer Acceleration activée.

  • Active la fonction Transfer Acceleration sur un compartiment spécifié. Cette étape n'est nécessaire que si le compartiment que vous spécifiez ne possède pas déjà la fonction Transfer Acceleration activée.

  • Vérifie que la fonction Transfer Acceleration est activée pour le compartiment spécifié.

  • Charge un nouvel objet sur le compartiment spécifié à l'aide du point de terminaison d'accélération du compartiment.

Pour plus d’informations sur l’utilisation de Transfer Acceleration, consultez Mise en route d'Amazon S3 Transfer Acceleration. Pour obtenir les instructions sur la création et le test d'un exemple pratique, consultez Test des exemples de code Java Amazon S3.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketAccelerateConfiguration; import com.amazonaws.services.s3.model.BucketAccelerateStatus; import com.amazonaws.services.s3.model.GetBucketAccelerateConfigurationRequest; import com.amazonaws.services.s3.model.SetBucketAccelerateConfigurationRequest; public class TransferAcceleration { public static void main(String[] args) { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Key name ***"; try { // Create an Amazon S3 client that is configured to use the accelerate endpoint. AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withRegion(clientRegion) .withCredentials(new ProfileCredentialsProvider()) .enableAccelerateMode() .build(); // Enable Transfer Acceleration for the specified bucket. s3Client.setBucketAccelerateConfiguration( new SetBucketAccelerateConfigurationRequest(bucketName, new BucketAccelerateConfiguration( BucketAccelerateStatus.Enabled))); // Verify that transfer acceleration is enabled for the bucket. String accelerateStatus = s3Client.getBucketAccelerateConfiguration( new GetBucketAccelerateConfigurationRequest(bucketName)) .getStatus(); System.out.println("Bucket accelerate status: " + accelerateStatus); // Upload a new object using the accelerate endpoint. s3Client.putObject(bucketName, keyName, "Test object for transfer acceleration"); System.out.println("Object \"" + keyName + "\" uploaded with transfer acceleration."); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.NET

L'exemple suivant montre comment utiliser le AWS SDK for .NET pour activer l'accélération du transfert sur un bucket. Pour obtenir des instructions sur la façon de créer et de tester un exemple pratique, consultez Exécution des exemples de code .NET Amazon S3.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class TransferAccelerationTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 s3Client; public static void Main() { s3Client = new AmazonS3Client(bucketRegion); EnableAccelerationAsync().Wait(); } static async Task EnableAccelerationAsync() { try { var putRequest = new PutBucketAccelerateConfigurationRequest { BucketName = bucketName, AccelerateConfiguration = new AccelerateConfiguration { Status = BucketAccelerateStatus.Enabled } }; await s3Client.PutBucketAccelerateConfigurationAsync(putRequest); var getRequest = new GetBucketAccelerateConfigurationRequest { BucketName = bucketName }; var response = await s3Client.GetBucketAccelerateConfigurationAsync(getRequest); Console.WriteLine("Acceleration state = '{0}' ", response.Status); } catch (AmazonS3Exception amazonS3Exception) { Console.WriteLine( "Error occurred. Message:'{0}' when setting transfer acceleration", amazonS3Exception.Message); } } } }

Lors du chargement d'un objet sur un compartiment pour lequel Transfer Acceleration est activé, vous spécifiez l'utilisation du point de terminaison d'accélération au moment de la création d'un client.

var client = new AmazonS3Client(new AmazonS3Config { RegionEndpoint = TestRegionEndpoint, UseAccelerateEndpoint = true }
Javascript

Pour un exemple d'activation de l'accélération du transfert à l'aide du AWS SDK pour JavaScript, consultez la section Appel de l'opération putBucketAccelerate de configuration dans le AWS SDK pour la référence des JavaScript API.

Python (Boto)

Pour obtenir un exemple d'activation de Transfer Acceleration à l'aide du kit SDK pour Python, veuillez consulter put_bucket_accelerate_configuration dans la Référence API SDK pour Python (Boto3).

Other

Pour plus d'informations sur l'utilisation d'autres AWS SDK, voir Exemples de code et bibliothèques.

Utilisez l'opération PutBucketAccelerateConfiguration de l'API REST pour accélérer la configuration sur un compartiment existant.

Pour plus d'informations, veuillez consulter PutBucketAccelerateConfiguration dans la Référence d'API Amazon Simple Storage Service.