Exemples d’utilisation de l’AWS CLI avec Amazon S3 - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec Amazon S3

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec Amazon S3.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser abort-multipart-upload.

AWS CLI

Pour annuler le chargement partitionné spécifié

La commande abort-multipart-upload suivante interrompt le chargement partitionné de la clé multipart/01 dans le compartiment amzn-s3-demo-bucket.

aws s3api abort-multipart-upload \ --bucket amzn-s3-demo-bucket \ --key multipart/01 \ --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R

L’ID de chargement requis par cette commande est généré par create-multipart-upload et peut également être extrait avec list-multipart-uploads.

  • Pour plus de détails sur l’API, consultez AbortMultipartUpload dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser complete-multipart-upload.

AWS CLI

La commande suivante effectue un chargement partitionné de la clé multipart/01 dans le compartiment amzn-s3-demo-bucket :

aws s3api complete-multipart-upload --multipart-upload file://mpustruct --bucket amzn-s3-demo-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R

L’ID de chargement requis par cette commande est généré par create-multipart-upload et peut également être extrait avec list-multipart-uploads.

L’option de chargement partitionné de la commande ci-dessus utilise une structure JSON qui décrit les parties du chargement partitionné qui doivent être réassemblées dans le fichier complet. Dans cet exemple, le préfixe file:// est utilisé pour charger la structure JSON à partir d’un fichier du dossier local nommé mpustruct.

mpustruct :

{ "Parts": [ { "ETag": "e868e0f4719e394144ef36531ee6824c", "PartNumber": 1 }, { "ETag": "6bb2b12753d66fe86da4998aa33fffb0", "PartNumber": 2 }, { "ETag": "d0a0112e841abec9c9ec83406f0159c8", "PartNumber": 3 } ] }

La valeur ETag de chaque partie chargée est générée chaque fois que vous chargez une partie à l’aide de la commande upload-part. Elle peut également être récupérée en appelant list-parts ou calculée en utilisant la somme de contrôle MD5 de chaque partie.

Sortie :

{ "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"", "Bucket": "amzn-s3-demo-bucket", "Location": "https://amzn-s3-demo-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" }
  • Pour plus de détails sur l’API, consultez CompleteMultipartUpload dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser copy-object.

AWS CLI

La commande suivante copie un objet de bucket-1 dans bucket-2 :

aws s3api copy-object --copy-source bucket-1/test.txt --key test.txt --bucket bucket-2

Sortie :

{ "CopyObjectResult": { "LastModified": "2015-11-10T01:07:25.000Z", "ETag": "\"589c8b79c230a6ecd5a7e1d040a9a030\"" }, "VersionId": "YdnYvTCVDqRRFA.NFJjy36p0hxifMlkA" }
  • Pour plus de détails sur l’API, consultez CopyObject dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser cp.

AWS CLI

Exemple 1 : pour copier un fichier local dans S3

La commande cp suivante copie un seul fichier dans le compartiment et la clé spécifiés :

aws s3 cp test.txt s3://amzn-s3-demo-bucket/test2.txt

Sortie :

upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt

Exemple 2 : pour copier un fichier local dans S3 avec une date d’expiration

La commande cp suivante copie un seul fichier dans le compartiment et la clé spécifiés qui expirent à l’horodatage ISO 8601 spécifié :

aws s3 cp test.txt s3://amzn-s3-demo-bucket/test2.txt \ --expires 2014-10-01T20:30:00Z

Sortie :

upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt

Exemple 3 : pour copier un fichier de S3 dans S3

La commande cp suivante copie un seul objet S3 dans le compartiment et la clé spécifiés :

aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt

Sortie :

copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt

Exemple 4 : pour copier un objet S3 dans un fichier local

La commande cp suivante copie un seul objet dans le fichier local spécifié :

aws s3 cp s3://amzn-s3-demo-bucket/test.txt test2.txt

Sortie :

download: s3://amzn-s3-demo-bucket/test.txt to test2.txt

Exemple 5 : pour copier un objet S3 d’un compartiment dans un autre

La commande cp suivante copie un seul objet dans le compartiment spécifié en conservant son nom d’origine :

aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket2/

Sortie :

copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt

Exemple 6 : pour copier de manière récursive des objets S3 dans un répertoire local

Lorsqu’elle est exécutée avec le paramètre --recursive, la commande cp suivante copie de manière récursive tous les objets relevant d’un compartiment et d’un préfixe spécifiés dans un répertoire spécifié. Dans cet exemple, le compartiment amzn-s3-demo-bucket contient les objets test1.txt et test2.txt :

aws s3 cp s3://amzn-s3-demo-bucket . \ --recursive

Sortie :

download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt download: s3://amzn-s3-demo-bucket/test2.txt to test2.txt

Exemple 7 : pour copier de manière récursive des fichiers locaux dans S3

Lorsqu’elle est exécutée avec le paramètre --recursive, la commande cp suivante copie de manière récursive tous les fichiers d’un répertoire spécifié dans un compartiment spécifié et avec le préfixe spécifié, tout en excluant certains fichiers à l’aide du paramètre --exclude. Dans cet exemple, le répertoire myDir contient les fichiers test1.txt et test2.jpg :

aws s3 cp myDir s3://amzn-s3-demo-bucket/ \ --recursive \ --exclude "*.jpg"

Sortie :

upload: myDir/test1.txt to s3://amzn-s3-demo-bucket/test1.txt

Exemple 8 : pour copier de manière récursive des objets S3 dans un autre compartiment

Lorsqu’elle est exécutée avec le paramètre --recursive, la commande cp suivante copie de manière récursive tous les objets d’un compartiment spécifié dans un autre compartiment, tout en excluant certains objets à l’aide du paramètre --exclude. Dans cet exemple, le compartiment amzn-s3-demo-bucket contient les objets test1.txt et another/test1.txt :

aws s3 cp s3://amzn-s3-demo-bucket/ s3://amzn-s3-demo-bucket2/ \ --recursive \ --exclude "another/*"

Sortie :

copy: s3://amzn-s3-demo-bucket/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt

Vous pouvez combiner les options --exclude et --include pour ne copier que les objets correspondant à un modèle, à l’exclusion de tous les autres :

aws s3 cp s3://amzn-s3-demo-bucket/logs/ s3://amzn-s3-demo-bucket2/logs/ \ --recursive \ --exclude "*" \ --include "*.log"

Sortie :

copy: s3://amzn-s3-demo-bucket/logs/test/test.log to s3://amzn-s3-demo-bucket2/logs/test/test.log copy: s3://amzn-s3-demo-bucket/logs/test3.log to s3://amzn-s3-demo-bucket2/logs/test3.log

Exemple 9 : pour configurer la liste de contrôle d’accès (ACL) lors de la copie d’un objet S3

La commande cp suivante copie un seul objet dans un compartiment et une clé spécifiés tout en définissant la liste ACL sur public-read-write :

aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt \ --acl public-read-write

Sortie :

copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt

Si vous utilisez l’option --acl, assurez-vous que toutes les politiques IAM associées incluent l’action "s3:PutObjectAcl" :

aws iam get-user-policy \ --user-name myuser \ --policy-name mypolicy

Sortie :

{ "UserName": "myuser", "PolicyName": "mypolicy", "PolicyDocument": { "Version":"2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Effect": "Allow", "Sid": "Stmt1234567891234" } ] } }

Exemple 10 : pour accorder des autorisations d’accès à un objet S3

La commande cp suivante illustre l’utilisation de l’option --grants permettant d’accorder un accès en lecture à tous les utilisateurs identifiés par l’URI et un contrôle total à un utilisateur spécifique identifié par son identifiant canonique :

aws s3 cp file.txt s3://amzn-s3-demo-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=id=79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be

Sortie :

upload: file.txt to s3://amzn-s3-demo-bucket/file.txt

Exemple 11 : pour charger un flux de fichiers local dans S3

PowerShell peut modifier le codage ou ajouter un CRLF à une entrée redirigée.

La commande cp suivante charge un flux de fichiers local de l’entrée standard dans un compartiment et une clé spécifiés :

aws s3 cp - s3://amzn-s3-demo-bucket/stream.txt

Exemple 12 : pour charger un flux de fichiers local de plus de 50 Go dans S3

La commande cp suivante charge un flux de fichiers local de 51 Go de l’entrée standard dans un compartiment et une clé spécifiés. L’option --expected-size doit être renseignée. Sinon, le chargement risque d’échouer s’il atteint la limite de 10 000 parties par défaut :

aws s3 cp - s3://amzn-s3-demo-bucket/stream.txt --expected-size 54760833024

Exemple 13 : pour télécharger un objet S3 en tant que flux de fichiers local

PowerShell peut modifier le codage ou ajouter un CRLF à une entrée redirigée.

La commande cp suivante télécharge un objet S3 localement sous forme de flux dans la sortie standard. Le chargement sous forme de flux n’est actuellement pas compatible avec le paramètre --recursive :

aws s3 cp s3://amzn-s3-demo-bucket/stream.txt -

Exemple 14 : pour charger un fichier dans un point d’accès S3

La commande cp suivante charge un seul fichier (mydoc.txt) dans le point d’accès (myaccesspoint) au niveau de la clé (mykey) :

aws s3 cp mydoc.txt s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Sortie :

upload: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Exemple 15 : pour télécharger un objet d’un point d’accès S3

La commande cp suivante télécharge un seul objet (mykey) du point d’accès (myaccesspoint) dans le fichier local (mydoc.txt) :

aws s3 cp s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey mydoc.txt

Sortie :

download: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey to mydoc.txt
  • Pour plus de détails sur l’API, consultez Cp dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-bucket.

AWS CLI

Exemple 1 : pour créer un compartiment

L’exemple create-bucket suivant crée un compartiment nommé amzn-s3-demo-bucket :

aws s3api create-bucket \ --bucket amzn-s3-demo-bucket \ --region us-east-1

Sortie :

{ "Location": "/amzn-s3-demo-bucket" }

Pour plus d’informations, consultez Création d’un compartiment dans le Guide de l’utilisateur Amazon S3.

Exemple 2 : pour créer un compartiment avec un propriétaire appliqué

L’exemple create-bucket suivant crée un compartiment nommé amzn-s3-demo-bucket qui utilise le paramètre de propriétaire du compartiment appliqué pour la propriété de l’objet S3.

aws s3api create-bucket \ --bucket amzn-s3-demo-bucket \ --region us-east-1 \ --object-ownership BucketOwnerEnforced

Sortie :

{ "Location": "/amzn-s3-demo-bucket" }

Pour plus d’informations, consultez Contrôle de la propriété des objets et désactivation des listes ACL dans le Guide de l’utilisateur Amazon S3.

Exemple 3 : pour créer un compartiment en dehors de la région us-east-1

L’exemple create-bucket suivant crée un compartiment nommé amzn-s3-demo-bucket dans la région eu-west-1. Les régions autres que us-east-1 exigent la bonne LocationConstraint pour créer le compartiment dans la région souhaitée.

aws s3api create-bucket \ --bucket amzn-s3-demo-bucket \ --region eu-west-1 \ --create-bucket-configuration LocationConstraint=eu-west-1

Sortie :

{ "Location": "http://amzn-s3-demo-bucket.s3.amazonaws.com/" }

Pour plus d’informations, consultez Création d’un compartiment dans le Guide de l’utilisateur Amazon S3.

  • Pour plus de détails sur l’API, consultez CreateBucket dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-multipart-upload.

AWS CLI

La commande suivante crée un chargement partitionné dans le compartiment amzn-s3-demo-bucket avec la clé multipart/01 :

aws s3api create-multipart-upload --bucket amzn-s3-demo-bucket --key 'multipart/01'

Sortie :

{ "Bucket": "amzn-s3-demo-bucket", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "Key": "multipart/01" }

Le fichier finalisé est nommé 01 dans un dossier nommé multipart dans le compartimentamzn-s3-demo-bucket. Enregistrez l’ID de chargement, la clé et le nom du compartiment à utiliser avec la commande upload-part.

  • Pour plus de détails sur l’API, consultez CreateMultipartUpload dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-bucket-analytics-configuration.

AWS CLI

Pour supprimer une configuration d’analyse d’un compartiment

L’exemple delete-bucket-analytics-configuration suivant supprime la configuration d’analyse pour le compartiment et l’ID spécifiés.

aws s3api delete-bucket-analytics-configuration \ --bucket amzn-s3-demo-bucket \ --id 1

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser delete-bucket-cors.

AWS CLI

La commande suivante supprime une configuration de partage des ressources entre origines d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api delete-bucket-cors --bucket amzn-s3-demo-bucket
  • Pour plus de détails sur l’API, consultez DeleteBucketCors dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-bucket-encryption.

AWS CLI

Pour supprimer la configuration du chiffrement côté serveur d’un compartiment

L’exemple delete-bucket-encryption suivant supprime la configuration du chiffrement côté serveur du compartiment spécifié.

aws s3api delete-bucket-encryption \ --bucket amzn-s3-demo-bucket

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez DeleteBucketEncryption dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-bucket-intelligent-tiering-configuration.

AWS CLI

Pour supprimer une configuration S3 Intelligent-Tiering d’un compartiment

L’exemple delete-bucket-intelligent-tiering-configuration suivant supprime une configuration S3 Intelligent-Tiering, nommée ExampleConfig, d’un compartiment.

aws s3api delete-bucket-intelligent-tiering-configuration \ --bucket amzn-s3-demo-bucket \ --id ExampleConfig

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Utilisation de S3 Intelligent-Tiering dans le Guide de l’utilisateur Amazon S3.

L’exemple de code suivant montre comment utiliser delete-bucket-inventory-configuration.

AWS CLI

Pour supprimer la configuration d’inventaire d’un compartiment

L’exemple delete-bucket-inventory-configuration suivant supprime la configuration d’inventaire possédant l’ID 1 du compartiment spécifié.

aws s3api delete-bucket-inventory-configuration \ --bucket amzn-s3-demo-bucket \ --id 1

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser delete-bucket-lifecycle.

AWS CLI

La commande suivante supprime une configuration de cycle de vie d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api delete-bucket-lifecycle --bucket amzn-s3-demo-bucket
  • Pour plus de détails sur l’API, consultez DeleteBucketLifecycle dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-bucket-metrics-configuration.

AWS CLI

Pour supprimer une configuration des métriques d’un compartiment

L’exemple delete-bucket-metrics-configuration suivant supprime la configuration des métriques pour le compartiment et l’ID spécifiés.

aws s3api delete-bucket-metrics-configuration \ --bucket amzn-s3-demo-bucket \ --id 123

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser delete-bucket-ownership-controls.

AWS CLI

Pour supprimer les paramètres de propriété d’un compartiment

L’exemple delete-bucket-ownership-controls suivant supprime les paramètres de propriété d’un compartiment.

aws s3api delete-bucket-ownership-controls \ --bucket amzn-s3-demo-bucket

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Définition de la propriété d’un objet sur un compartiment existant dans le Guide de l’utilisateur Amazon S3.

L’exemple de code suivant montre comment utiliser delete-bucket-policy.

AWS CLI

La commande suivante supprime la stratégie d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api delete-bucket-policy --bucket amzn-s3-demo-bucket
  • Pour plus de détails sur l’API, consultez DeleteBucketPolicy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-bucket-replication.

AWS CLI

La commande suivante supprime une configuration de réplication d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api delete-bucket-replication --bucket amzn-s3-demo-bucket
  • Pour plus de détails sur l’API, consultez DeleteBucketReplication dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-bucket-tagging.

AWS CLI

La commande suivante supprime une configuration de balisage d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api delete-bucket-tagging --bucket amzn-s3-demo-bucket
  • Pour plus de détails sur l’API, consultez DeleteBucketTagging dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-bucket-website.

AWS CLI

La commande suivante supprime la configuration de site web d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api delete-bucket-website --bucket amzn-s3-demo-bucket
  • Pour plus de détails sur l’API, consultez DeleteBucketWebsite dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-bucket.

AWS CLI

La commande suivante supprime un compartiment nommé amzn-s3-demo-bucket :

aws s3api delete-bucket --bucket amzn-s3-demo-bucket --region us-east-1
  • Pour plus de détails sur l’API, consultez DeleteBucket dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-object-tagging.

AWS CLI

Pour supprimer les balises d’un objet

L’exemple delete-object-tagging suivant supprime la balise de la clé spécifiée de l’objet doc1.rtf.

aws s3api delete-object-tagging \ --bucket amzn-s3-demo-bucket \ --key doc1.rtf

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez DeleteObjectTagging dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-object.

AWS CLI

La commande suivante supprime un objet nommé test.txt d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api delete-object --bucket amzn-s3-demo-bucket --key test.txt

Si la gestion des versions de compartiment est activée, la sortie contient l’ID de la version du marqueur de suppression :

{ "VersionId": "9_gKg5vG56F.TTEUdwkxGpJ3tNDlWlGq", "DeleteMarker": true }

Pour plus d’informations sur la suppression d’objets, consultez Suppression d’objets dans le Manuel du développeur Amazon S3.

  • Pour plus de détails sur l’API, consultez DeleteObject dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-objects.

AWS CLI

La commande suivante supprime un objet nommé d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api delete-objects --bucket amzn-s3-demo-bucket --delete file://delete.json

delete.json est un document JSON du répertoire en cours qui spécifie l’objet à supprimer :

{ "Objects": [ { "Key": "test1.txt" } ], "Quiet": false }

Sortie :

{ "Deleted": [ { "DeleteMarkerVersionId": "mYAT5Mc6F7aeUL8SS7FAAqUPO1koHwzU", "Key": "test1.txt", "DeleteMarker": true } ] }
  • Pour plus de détails sur l’API, consultez DeleteObjects dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-public-access-block.

AWS CLI

Pour supprimer la configuration du blocage de l’accès public d’un compartiment

L’exemple delete-public-access-block suivant supprime la configuration du blocage de l’accès public du compartiment spécifié.

aws s3api delete-public-access-block \ --bucket amzn-s3-demo-bucket

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez DeletePublicAccessBlock dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-accelerate-configuration.

AWS CLI

Pour récupérer la configuration accélérée d’un compartiment

L’exemple get-bucket-accelerate-configuration suivant récupère la configuration accélérée du compartiment spécifié.

aws s3api get-bucket-accelerate-configuration \ --bucket amzn-s3-demo-bucket

Sortie :

{ "Status": "Enabled" }

L’exemple de code suivant montre comment utiliser get-bucket-acl.

AWS CLI

La commande suivante récupère la liste de contrôle d’accès d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-acl --bucket amzn-s3-demo-bucket

Sortie :

{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" } ] }
  • Pour plus de détails sur l’API, consultez GetBucketAcl dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-analytics-configuration.

AWS CLI

Pour récupérer la configuration d’analyse d’un compartiment possédant un ID spécifique

L’exemple get-bucket-analytics-configuration suivant affiche la configuration d’analyse pour le compartiment et l’ID spécifiés.

aws s3api get-bucket-analytics-configuration \ --bucket amzn-s3-demo-bucket \ --id 1

Sortie :

{ "AnalyticsConfiguration": { "StorageClassAnalysis": {}, "Id": "1" } }

L’exemple de code suivant montre comment utiliser get-bucket-cors.

AWS CLI

La commande suivante récupère la configuration du partage de ressources entre origines d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-cors --bucket amzn-s3-demo-bucket

Sortie :

{ "CORSRules": [ { "AllowedHeaders": [ "*" ], "ExposeHeaders": [ "x-amz-server-side-encryption" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "MaxAgeSeconds": 3000, "AllowedOrigins": [ "http://www.example.com" ] }, { "AllowedHeaders": [ "Authorization" ], "MaxAgeSeconds": 3000, "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ] } ] }
  • Pour plus de détails sur l’API, consultez GetBucketCors dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-encryption.

AWS CLI

Pour récupérer la configuration du chiffrement côté serveur d’un compartiment

L’exemple get-bucket-encryption suivant récupère la configuration du chiffrement côté serveur du compartiment amzn-s3-demo-bucket.

aws s3api get-bucket-encryption \ --bucket amzn-s3-demo-bucket

Sortie :

{ "ServerSideEncryptionConfiguration": { "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] } }
  • Pour plus de détails sur l’API, consultez GetBucketEncryption dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-intelligent-tiering-configuration.

AWS CLI

Pour récupérer la configuration S3 Intelligent-Tiering d’un compartiment

L’exemple get-bucket-intelligent-tiering-configuration suivant récupère une configuration S3 Intelligent-Tiering, nommée ExampleConfig, d’un compartiment.

aws s3api get-bucket-intelligent-tiering-configuration \ --bucket amzn-s3-demo-bucket \ --id ExampleConfig

Sortie :

{ "IntelligentTieringConfiguration": { "Id": "ExampleConfig2", "Filter": { "Prefix": "images" }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] } }

Pour plus d’informations, consultez Utilisation de S3 Intelligent-Tiering dans le Guide de l’utilisateur Amazon S3.

L’exemple de code suivant montre comment utiliser get-bucket-inventory-configuration.

AWS CLI

Pour récupérer la configuration d’inventaire d’un compartiment

L’exemple get-bucket-inventory-configuration récupère la configuration d’inventaire du compartiment spécifié possédant l’ID 1.

aws s3api get-bucket-inventory-configuration \ --bucket amzn-s3-demo-bucket \ --id 1

Sortie :

{ "InventoryConfiguration": { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } } }

L’exemple de code suivant montre comment utiliser get-bucket-lifecycle-configuration.

AWS CLI

La commande suivante récupère la configuration de cycle de vie d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-lifecycle-configuration --bucket amzn-s3-demo-bucket

Sortie :

{ "Rules": [ { "ID": "Move rotated logs to Glacier", "Prefix": "rotated/", "Status": "Enabled", "Transitions": [ { "Date": "2015-11-10T00:00:00.000Z", "StorageClass": "GLACIER" } ] }, { "Status": "Enabled", "Prefix": "", "NoncurrentVersionTransitions": [ { "NoncurrentDays": 0, "StorageClass": "GLACIER" } ], "ID": "Move old versions to Glacier" } ] }

L’exemple de code suivant montre comment utiliser get-bucket-lifecycle.

AWS CLI

La commande suivante récupère la configuration de cycle de vie d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-lifecycle --bucket amzn-s3-demo-bucket

Sortie :

{ "Rules": [ { "ID": "Move to Glacier after sixty days (objects in logs/2015/)", "Prefix": "logs/2015/", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } }, { "Expiration": { "Date": "2016-01-01T00:00:00.000Z" }, "ID": "Delete 2014 logs in 2016.", "Prefix": "logs/2014/", "Status": "Enabled" } ] }
  • Pour plus de détails sur l’API, consultez GetBucketLifecycle dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-location.

AWS CLI

La commande suivante récupère la contrainte d’emplacement d’un compartiment nommé amzn-s3-demo-bucket, s’il en existe une :

aws s3api get-bucket-location --bucket amzn-s3-demo-bucket

Sortie :

{ "LocationConstraint": "us-west-2" }
  • Pour plus de détails sur l’API, consultez GetBucketLocation dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-logging.

AWS CLI

Pour récupérer le statut de journalisation d’un compartiment

L’exemple get-bucket-logging suivant récupère le statut de journalisation du compartiment spécifié.

aws s3api get-bucket-logging \ --bucket amzn-s3-demo-bucket

Sortie :

{ "LoggingEnabled": { "TargetPrefix": "", "TargetBucket": "amzn-s3-demo-bucket-logs" } }
  • Pour plus de détails sur l’API, consultez GetBucketLogging dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-metrics-configuration.

AWS CLI

Pour récupérer la configuration des métriques d’un compartiment possédant un ID spécifique

L’exemple get-bucket-metrics-configuration suivant affiche la configuration des métriques pour le compartiment et l’ID spécifiés.

aws s3api get-bucket-metrics-configuration \ --bucket amzn-s3-demo-bucket \ --id 123

Sortie :

{ "MetricsConfiguration": { "Filter": { "Prefix": "logs" }, "Id": "123" } }

L’exemple de code suivant montre comment utiliser get-bucket-notification-configuration.

AWS CLI

La commande suivante récupère la notification de configuration d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-notification-configuration --bucket amzn-s3-demo-bucket

Sortie :

{ "TopicConfigurations": [ { "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }

L’exemple de code suivant montre comment utiliser get-bucket-notification.

AWS CLI

La commande suivante récupère la notification de configuration d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-notification --bucket amzn-s3-demo-bucket

Sortie :

{ "TopicConfiguration": { "Topic": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "Event": "s3:ObjectCreated:*", "Events": [ "s3:ObjectCreated:*" ] } }
  • Pour plus de détails sur l’API, consultez GetBucketNotification dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-ownership-controls.

AWS CLI

Pour récupérer les paramètres de propriété d’un compartiment

L’exemple get-bucket-ownership-controls suivant récupère les paramètres de propriété d’un compartiment.

aws s3api get-bucket-ownership-controls \ --bucket amzn-s3-demo-bucket

Sortie :

{ "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced" } ] } }

Pour plus d’informations, consultez Affichage du paramètre de propriété d’objet pour un compartiment S3 dans le Guide de l’utilisateur Amazon S3.

L’exemple de code suivant montre comment utiliser get-bucket-policy-status.

AWS CLI

Pour récupérer le statut de la stratégie indiquant si un compartiment est public

L’exemple get-bucket-policy-status suivant récupère le statut de la stratégie du compartiment amzn-s3-demo-bucket.

aws s3api get-bucket-policy-status \ --bucket amzn-s3-demo-bucket

Sortie :

{ "PolicyStatus": { "IsPublic": false } }
  • Pour plus de détails sur l’API, consultez GetBucketPolicyStatus dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-policy.

AWS CLI

La commande suivante récupère la stratégie du compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-policy --bucket amzn-s3-demo-bucket

Sortie :

{ "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"},{\"Sid\":\"\",\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/secret/*\"}]}" }

Pour obtenir et appliquer une stratégie de compartiment L’exemple suivant montre comment télécharger une stratégie de compartiment Amazon S3, modifier le fichier, puis utiliser put-bucket-policy pour appliquer la stratégie de compartiment modifiée. Pour télécharger la stratégie de compartiment dans un fichier, vous pouvez exécuter :

aws s3api get-bucket-policy --bucket amzn-s3-demo-bucket --query Policy --output text > policy.json

Vous pouvez ensuite modifier le fichier policy.json si besoin. Enfin, vous pouvez appliquer cette stratégie modifiée au compartiment S3 en exécutant :

le fichier policy.json si besoin. Enfin, vous pouvez appliquer cette stratégie modifiée au compartiment S3 en exécutant :

le fichier si besoin. Enfin, vous pouvez appliquer cette stratégie modifiée au compartiment S3 en exécutant :

aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
  • Pour plus de détails sur l’API, consultez GetBucketPolicy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-replication.

AWS CLI

La commande suivante récupère la configuration de réplication d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-replication --bucket amzn-s3-demo-bucket

Sortie :

{ "ReplicationConfiguration": { "Rules": [ { "Status": "Enabled", "Prefix": "", "Destination": { "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket-backup", "StorageClass": "STANDARD" }, "ID": "ZmUwNzE4ZmQ4tMjVhOS00MTlkLOGI4NDkzZTIWJjNTUtYTA1" } ], "Role": "arn:aws:iam::123456789012:role/s3-replication-role" } }
  • Pour plus de détails sur l’API, consultez GetBucketReplication dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-request-payment.

AWS CLI

Pour récupérer la configuration Paiement par le demandeur d’un compartiment

L’exemple get-bucket-request-payment suivant récupère la configuration « Paiement par le demandeur » du compartiment spécifié.

aws s3api get-bucket-request-payment \ --bucket amzn-s3-demo-bucket

Sortie :

{ "Payer": "BucketOwner" }
  • Pour plus de détails sur l’API, consultez GetBucketRequestPayment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-tagging.

AWS CLI

La commande suivante récupère la configuration de balisage d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-tagging --bucket amzn-s3-demo-bucket

Sortie :

{ "TagSet": [ { "Value": "marketing", "Key": "organization" } ] }
  • Pour plus de détails sur l’API, consultez GetBucketTagging dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-versioning.

AWS CLI

La commande suivante récupère la configuration de gestion des versions d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-versioning --bucket amzn-s3-demo-bucket

Sortie :

{ "Status": "Enabled" }
  • Pour plus de détails sur l’API, consultez GetBucketVersioning dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-bucket-website.

AWS CLI

La commande suivante récupère la configuration de site web statique d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-bucket-website --bucket amzn-s3-demo-bucket

Sortie :

{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
  • Pour plus de détails sur l’API, consultez GetBucketWebsite dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-object-acl.

AWS CLI

La commande suivante récupère la liste de contrôle d’accès d’un objet dans un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-object-acl --bucket amzn-s3-demo-bucket --key index.html

Sortie :

{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }
  • Pour plus de détails sur l’API, consultez GetObjectAcl dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-object-attributes.

AWS CLI

Pour récupérer les métadonnées d’un objet sans renvoyer ce dernier

L’exemple get-object-attributes suivant récupère les métadonnées de l’objet doc1.rtf.

aws s3api get-object-attributes \ --bucket amzn-s3-demo-bucket \ --key doc1.rtf \ --object-attributes "StorageClass" "ETag" "ObjectSize"

Sortie :

{ "LastModified": "2022-03-15T19:37:31+00:00", "VersionId": "IuCPjXTDzHNfldAuitVBIKJpF2p1fg4P", "ETag": "b662d79adeb7c8d787ea7eafb9ef6207", "StorageClass": "STANDARD", "ObjectSize": 405 }

Pour plus d’informations, consultez GetObjectAttributes dans la Référence des API d’Amazon S3.

  • Pour plus de détails sur l’API, consultez GetObjectAttributes dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-object-legal-hold.

AWS CLI

Pour récupérer le statut de conservation légale d’un objet

L’exemple get-object-legal-hold suivant récupère le statut de conservation légale de l’objet spécifié.

aws s3api get-object-legal-hold \ --bucket amzn-s3-demo-bucket-with-object-lock \ --key doc1.rtf

Sortie :

{ "LegalHold": { "Status": "ON" } }
  • Pour plus de détails sur l’API, consultez GetObjectLegalHold dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-object-lock-configuration.

AWS CLI

Pour récupérer la configuration de verrouillage d’objet d’un compartiment

L’exemple get-object-lock-configuration suivant récupère la configuration de verrouillage d’objet du compartiment spécifié.

aws s3api get-object-lock-configuration \ --bucket amzn-s3-demo-bucket-with-object-lock

Sortie :

{ "ObjectLockConfiguration": { "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 } } } }

L’exemple de code suivant montre comment utiliser get-object-retention.

AWS CLI

Pour récupérer la configuration de rétention d’un objet

L’exemple get-object-retention suivant récupère la configuration de rétention de l’objet spécifié.

aws s3api get-object-retention \ --bucket amzn-s3-demo-bucket-with-object-lock \ --key doc1.rtf

Sortie :

{ "Retention": { "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00.000Z" } }
  • Pour plus de détails sur l’API, consultez GetObjectRetention dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-object-tagging.

AWS CLI

Pour récupérer les balises attachées à un objet

L’exemple get-object-tagging suivant récupère les valeurs de la clé spécifiée de l’objet spécifié.

aws s3api get-object-tagging \ --bucket amzn-s3-demo-bucket \ --key doc1.rtf

Sortie :

{ "TagSet": [ { "Value": "confidential", "Key": "designation" } ] }

L’exemple get-object-tagging suivant tente de récupérer les balises de l’objet doc2.rtf, qui ne possède pas de balise.

aws s3api get-object-tagging \ --bucket amzn-s3-demo-bucket \ --key doc2.rtf

Sortie :

{ "TagSet": [] }

L’exemple get-object-tagging suivant récupère les balises de l’objet doc3.rtf, qui possède plusieurs balises.

aws s3api get-object-tagging \ --bucket amzn-s3-demo-bucket \ --key doc3.rtf

Sortie :

{ "TagSet": [ { "Value": "confidential", "Key": "designation" }, { "Value": "finance", "Key": "department" }, { "Value": "payroll", "Key": "team" } ] }
  • Pour plus de détails sur l’API, consultez GetObjectTagging dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-object-torrent.

AWS CLI

La commande suivante crée un fichier torrent pour un objet dans un compartiment nommé amzn-s3-demo-bucket :

aws s3api get-object-torrent --bucket amzn-s3-demo-bucket --key large-video-file.mp4 large-video-file.torrent

Le fichier torrent est enregistré localement dans le dossier en cours. Notez que le nom du fichier de sortie (large-video-file.torrent) est spécifié sans nom d’option et doit être le dernier argument de la commande.

  • Pour plus de détails sur l’API, consultez GetObjectTorrent dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-object.

AWS CLI

L’exemple suivant utilise la commande get-object pour télécharger un objet à partir d’Amazon S3 :

aws s3api get-object --bucket text-content --key dir/my_images.tar.bz2 my_images.tar.bz2

Notez que le paramètre outfile est spécifié sans nom d’option tel que « --outfile ». Le nom du fichier de sortie doit être le dernier paramètre de la commande.

L’exemple ci-dessous illustre l’utilisation de --range pour télécharger une plage d’octets spécifique d’un objet. Notez que les plages d’octets doivent comporter le préfixe « bytes= » :

aws s3api get-object --bucket text-content --key dir/my_data --range bytes=8888-9999 my_data_range

Pour plus d’informations sur la récupération d’objets, consultez Obtention d’objets dans le Manuel du développeur Amazon S3.

  • Pour plus de détails sur l’API, consultez GetObject dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-public-access-block.

AWS CLI

Pour définir ou modifier la configuration du blocage de l’accès public d’un compartiment

L’exemple get-public-access-block suivant affiche la configuration du blocage de l’accès public du compartiment spécifié.

aws s3api get-public-access-block \ --bucket amzn-s3-demo-bucket

Sortie :

{ "PublicAccessBlockConfiguration": { "IgnorePublicAcls": true, "BlockPublicPolicy": true, "BlockPublicAcls": true, "RestrictPublicBuckets": true } }
  • Pour plus de détails sur l’API, consultez GetPublicAccessBlock dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser head-bucket.

AWS CLI

La commande suivante vérifie l’accès à un compartiment nommé amzn-s3-demo-bucket :

aws s3api head-bucket --bucket amzn-s3-demo-bucket

Si le compartiment existe et que vous y avez accès, aucune sortie n’est renvoyée. Dans le cas contraire, un message d’erreur s’affiche. Par exemple :

A client error (404) occurred when calling the HeadBucket operation: Not Found
  • Pour plus de détails sur l’API, consultez HeadBucket dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser head-object.

AWS CLI

La commande suivante récupère les métadonnées d’un objet dans un compartiment nommé amzn-s3-demo-bucket :

aws s3api head-object --bucket amzn-s3-demo-bucket --key index.html

Sortie :

{ "AcceptRanges": "bytes", "ContentType": "text/html", "LastModified": "Thu, 16 Apr 2015 18:19:14 GMT", "ContentLength": 77, "VersionId": "null", "ETag": "\"30a6ec7e1a9ad79c203d05a589c8b400\"", "Metadata": {} }
  • Pour plus de détails sur l’API, consultez HeadObject dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-bucket-analytics-configurations.

AWS CLI

Pour récupérer la liste des configurations d’analyse d’un compartiment

L’exemple list-bucket-analytics-configurations suivant récupère la liste des configurations d’analyse du compartiment spécifié.

aws s3api list-bucket-analytics-configurations \ --bucket amzn-s3-demo-bucket

Sortie :

{ "AnalyticsConfigurationList": [ { "StorageClassAnalysis": {}, "Id": "1" } ], "IsTruncated": false }

L’exemple de code suivant montre comment utiliser list-bucket-intelligent-tiering-configurations.

AWS CLI

Pour récupérer toutes les configurations S3 Intelligent-Tiering d’un compartiment

L’exemple list-bucket-intelligent-tiering-configurations suivant récupère toutes les configurations S3 Intelligent-Tiering d’un compartiment.

aws s3api list-bucket-intelligent-tiering-configurations \ --bucket amzn-s3-demo-bucket

Sortie :

{ "IsTruncated": false, "IntelligentTieringConfigurationList": [ { "Id": "ExampleConfig", "Filter": { "Prefix": "images" }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] }, { "Id": "ExampleConfig2", "Status": "Disabled", "Tierings": [ { "Days": 730, "AccessTier": "ARCHIVE_ACCESS" } ] }, { "Id": "ExampleConfig3", "Filter": { "Tag": { "Key": "documents", "Value": "taxes" } }, "Status": "Enabled", "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 365, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] } ] }

Pour plus d’informations, consultez Utilisation de S3 Intelligent-Tiering dans le Guide de l’utilisateur Amazon S3.

L’exemple de code suivant montre comment utiliser list-bucket-inventory-configurations.

AWS CLI

Pour récupérer la liste des configurations d’inventaire d’un compartiment

L’exemple list-bucket-inventory-configurations suivant répertorie les configurations d’inventaire du compartiment spécifié.

aws s3api list-bucket-inventory-configurations \ --bucket amzn-s3-demo-bucket

Sortie :

{ "InventoryConfigurationList": [ { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } }, { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "CSV", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "2", "Schedule": { "Frequency": "Daily" } } ], "IsTruncated": false }

L’exemple de code suivant montre comment utiliser list-bucket-metrics-configurations.

AWS CLI

Pour récupérer la liste des configurations de métriques d’un compartiment

L’exemple list-bucket-metrics-configurations suivant récupère la liste des configurations de métriques du compartiment spécifié.

aws s3api list-bucket-metrics-configurations \ --bucket amzn-s3-demo-bucket

Sortie :

{ "IsTruncated": false, "MetricsConfigurationList": [ { "Filter": { "Prefix": "logs" }, "Id": "123" }, { "Filter": { "Prefix": "tmp" }, "Id": "234" } ] }

L’exemple de code suivant montre comment utiliser list-buckets.

AWS CLI

La commande suivante utilise la commande list-buckets pour afficher les noms de tous vos compartiments Amazon S3 (dans toutes les régions) :

aws s3api list-buckets --query "Buckets[].Name"

L’option de requête filtre la sortie de list-buckets pour n’afficher que les noms des compartiments.

Pour plus d’informations sur les compartiments, consultez Utilisation des compartiments Amazon S3 dans le Manuel du développeur Amazon S3.

  • Pour plus de détails sur l’API, consultez ListBuckets dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-multipart-uploads.

AWS CLI

La commande suivante répertorie tous les chargements partitionnés actifs d’un compartiment nommé amzn-s3-demo-bucket :

aws s3api list-multipart-uploads --bucket amzn-s3-demo-bucket

Sortie :

{ "Uploads": [ { "Initiator": { "DisplayName": "username", "ID": "arn:aws:iam::0123456789012:user/username" }, "Initiated": "2015-06-02T18:01:30.000Z", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "StorageClass": "STANDARD", "Key": "multipart/01", "Owner": { "DisplayName": "aws-account-name", "ID": "100719349fc3b6dcd7c820a124bf7aecd408092c3d7b51b38494939801fc248b" } } ], "CommonPrefixes": [] }

Les chargements partitionnés en cours entraînent des coûts de stockage dans Amazon S3. Terminez ou annulez un chargement partitionné actif pour supprimer ses parties de votre compte.

  • Pour plus de détails sur l’API, consultez ListMultipartUploads dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-object-versions.

AWS CLI

La commande suivante récupère les informations de la version d’un objet dans un compartiment nommé amzn-s3-demo-bucket :

aws s3api list-object-versions --bucket amzn-s3-demo-bucket --prefix index.html

Sortie :

{ "DeleteMarkers": [ { "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": true, "VersionId": "B2VsEK5saUNNHKcOAJj7hIE86RozToyq", "Key": "index.html", "LastModified": "2015-11-10T00:57:03.000Z" }, { "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "VersionId": ".FLQEZscLIcfxSq.jsFJ.szUkmng2Yw6", "Key": "index.html", "LastModified": "2015-11-09T23:32:20.000Z" } ], "Versions": [ { "LastModified": "2015-11-10T00:20:11.000Z", "VersionId": "Rb_l2T8UHDkFEwCgJjhlgPOZC0qJ.vpD", "ETag": "\"0622528de826c0df5db1258a23b80be5\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 38 }, { "LastModified": "2015-11-09T23:26:41.000Z", "VersionId": "rasWWGpgk9E4s0LyTJgusGeRQKLVIAFf", "ETag": "\"06225825b8028de826c0df5db1a23be5\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 38 }, { "LastModified": "2015-11-09T22:50:50.000Z", "VersionId": "null", "ETag": "\"d1f45267a863c8392e07d24dd592f1b9\"", "StorageClass": "STANDARD", "Key": "index.html", "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32" }, "IsLatest": false, "Size": 533823 } ] }
  • Pour plus de détails sur l’API, consultez ListObjectVersions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-objects-v2.

AWS CLI

Pour obtenir la liste des objets d’un compartiment

L’exemple list-objects-v2 suivant répertorie les objets du compartiment spécifié.

aws s3api list-objects-v2 \ --bucket amzn-s3-demo-bucket

Sortie :

{ "Contents": [ { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"621503c373607d548b37cff8778d992c\"", "StorageClass": "STANDARD", "Key": "doc1.rtf", "Size": 391 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"a2cecc36ab7c7fe3a71a273b9d45b1b5\"", "StorageClass": "STANDARD", "Key": "doc2.rtf", "Size": 373 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"08210852f65a2e9cb999972539a64d68\"", "StorageClass": "STANDARD", "Key": "doc3.rtf", "Size": 399 }, { "LastModified": "2019-11-05T23:11:50.000Z", "ETag": "\"d1852dd683f404306569471af106988e\"", "StorageClass": "STANDARD", "Key": "doc4.rtf", "Size": 6225 } ] }
  • Pour plus de détails sur l’API, consultez ListObjectsV2 dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-objects.

AWS CLI

L’exemple suivant utilise la commande list-objects pour afficher le nom de tous les objets du compartiment spécifié :

aws s3api list-objects --bucket text-content --query 'Contents[].{Key: Key, Size: Size}'

L’exemple utilise l’argument --query pour filtrer la sortie list-objects jusqu’à la valeur de clé et la taille de chaque objet.

Pour plus d’informations sur les objets, consultez Utilisation des objets Amazon S3 dans le Manuel du développeur Amazon S3.

  • Pour plus de détails sur l’API, consultez ListObjects dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-parts.

AWS CLI

La commande suivante répertorie toutes les parties d’un chargement partitionné avec la clé multipart/01 dans le compartiment amzn-s3-demo-bucket :

aws s3api list-parts --bucket amzn-s3-demo-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R

Sortie :

{ "Owner": { "DisplayName": "aws-account-name", "ID": "100719349fc3b6dcd7c820a124bf7aecd408092c3d7b51b38494939801fc248b" }, "Initiator": { "DisplayName": "username", "ID": "arn:aws:iam::0123456789012:user/username" }, "Parts": [ { "LastModified": "2015-06-02T18:07:35.000Z", "PartNumber": 1, "ETag": "\"e868e0f4719e394144ef36531ee6824c\"", "Size": 5242880 }, { "LastModified": "2015-06-02T18:07:42.000Z", "PartNumber": 2, "ETag": "\"6bb2b12753d66fe86da4998aa33fffb0\"", "Size": 5242880 }, { "LastModified": "2015-06-02T18:07:47.000Z", "PartNumber": 3, "ETag": "\"d0a0112e841abec9c9ec83406f0159c8\"", "Size": 5242880 } ], "StorageClass": "STANDARD" }
  • Pour plus de détails sur l’API, consultez ListParts dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser ls.

AWS CLI

Exemple 1 : pour répertorier tous les compartiments appartenant à l’utilisateur

La commande ls suivante répertorie tous les compartiments appartenant à l’utilisateur. Dans cet exemple, l’utilisateur possède les compartiments amzn-s3-demo-bucket et amzn-s3-demo-bucket2. L’horodatage, indiqué dans le fuseau horaire de votre ordinateur, correspond à la date de création du compartiment. Cette date peut changer si vous modifiez votre compartiment, par exemple si vous modifiez sa stratégie. Notez que si s3:// est utilisé pour l’argument de chemin <S3Uri>, il répertoriera également tous les compartiments.

aws s3 ls

Sortie :

2013-07-11 17:08:50 amzn-s3-demo-bucket 2013-07-24 14:55:44 amzn-s3-demo-bucket2

Exemple 2 : pour répertorier tous les préfixes et objets d’un compartiment

La commande ls suivante répertorie les objets et les préfixes communs d’un compartiment et d’un préfixe spécifiés. Dans cet exemple, l’utilisateur possède le compartiment amzn-s3-demo-bucket contenant les objets test.txt et somePrefix/test.txt. LastWriteTime et Length sont arbitraires. Notez que puisque la commande ls n’a aucune interaction avec le système de fichiers local, le schéma de l’URI s3:// n’est pas nécessaire pour lever l’ambiguïté et peut être omis.

aws s3 ls s3://amzn-s3-demo-bucket

Sortie :

PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt

Exemple 3 : pour répertorier tous les préfixes et objets relevant d’un compartiment et d’un préfixe spécifiques

La commande ls suivante répertorie les objets et les préfixes communs d’un compartiment et d’un préfixe spécifiés. Il n’existe aucun objet ni préfixe commun relevant du compartiment et du préfixe spécifiés.

aws s3 ls s3://amzn-s3-demo-bucket/noExistPrefix

Sortie :

None

Exemple 4 : pour répertorier de manière récursive tous les préfixes et objets d’un compartiment

La commande ls suivante répertorie de manière récursive les objets d’un compartiment. Plutôt que d’afficher PRE dirname/ dans la sortie, tout le contenu du compartiment est répertorié dans l’ordre.

aws s3 ls s3://amzn-s3-demo-bucket \ --recursive

Sortie :

2013-09-02 21:37:53 10 a.txt 2013-09-02 21:37:53 2863288 foo.zip 2013-09-02 21:32:57 23 foo/bar/.baz/a 2013-09-02 21:32:58 41 foo/bar/.baz/b 2013-09-02 21:32:57 281 foo/bar/.baz/c 2013-09-02 21:32:57 73 foo/bar/.baz/d 2013-09-02 21:32:57 452 foo/bar/.baz/e 2013-09-02 21:32:57 896 foo/bar/.baz/hooks/bar 2013-09-02 21:32:57 189 foo/bar/.baz/hooks/foo 2013-09-02 21:32:57 398 z.txt

Exemple 5 : pour résumer tous les préfixes et objets d’un compartiment

La commande ls suivante illustre la même commande en utilisant les options - --human-readable et --summarize. --human-readable affiche la taille du fichier en octets/Mio/Kio/Gio/Tio/Pio/Eio. --summarize affiche le nombre total d’objets et la taille totale à la fin de la liste des résultats :

aws s3 ls s3://amzn-s3-demo-bucket \ --recursive \ --human-readable \ --summarize

Sortie :

2013-09-02 21:37:53 10 Bytes a.txt 2013-09-02 21:37:53 2.9 MiB foo.zip 2013-09-02 21:32:57 23 Bytes foo/bar/.baz/a 2013-09-02 21:32:58 41 Bytes foo/bar/.baz/b 2013-09-02 21:32:57 281 Bytes foo/bar/.baz/c 2013-09-02 21:32:57 73 Bytes foo/bar/.baz/d 2013-09-02 21:32:57 452 Bytes foo/bar/.baz/e 2013-09-02 21:32:57 896 Bytes foo/bar/.baz/hooks/bar 2013-09-02 21:32:57 189 Bytes foo/bar/.baz/hooks/foo 2013-09-02 21:32:57 398 Bytes z.txt Total Objects: 10 Total Size: 2.9 MiB

Exemple 6 : pour répertorier les objets d’un point d’accès S3

La commande ls suivante répertorie les objets du point d’accès (myaccesspoint) :

aws s3 ls s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/

Sortie :

PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt
  • Pour plus de détails sur l’API, consultez Ls dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser mb.

AWS CLI

Exemple 1 : pour créer un compartiment

La commande mb suivante crée un compartiment. Dans cet exemple, l’utilisateur crée le compartiment amzn-s3-demo-bucket. Le compartiment est créé dans la région spécifiée dans le fichier de configuration de l’utilisateur :

aws s3 mb s3://amzn-s3-demo-bucket

Sortie :

make_bucket: s3://amzn-s3-demo-bucket

Exemple 2 : pour créer un compartiment dans la région spécifiée

La commande mb suivante crée un compartiment dans la région spécifiée par le paramètre --region. Dans cet exemple, l’utilisateur crée le compartiment amzn-s3-demo-bucket dans la région us-west-1 :

aws s3 mb s3://amzn-s3-demo-bucket \ --region us-west-1

Sortie :

make_bucket: s3://amzn-s3-demo-bucket
  • Pour plus de détails sur l’API, consultez Mb dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser mv.

AWS CLI

Exemple 1 : pour déplacer un fichier local dans le compartiment spécifié

La commande mv suivante déplace un seul fichier dans le compartiment et la clé spécifiés.

aws s3 mv test.txt s3://amzn-s3-demo-bucket/test2.txt

Sortie :

move: test.txt to s3://amzn-s3-demo-bucket/test2.txt

Exemple 2 : pour déplacer un objet dans le compartiment et la clé spécifiés

La commande mv suivante déplace un seul objet S3 dans le compartiment et la clé spécifiés.

aws s3 mv s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt

Sortie :

move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt

Exemple 3 : pour déplacer un objet S3 dans le répertoire local

La commande mv suivante déplace un seul objet dans le répertoire local spécifié.

aws s3 mv s3://amzn-s3-demo-bucket/test.txt test2.txt

Sortie :

move: s3://amzn-s3-demo-bucket/test.txt to test2.txt

Exemple 4 : pour déplacer un objet avec son nom d’origine dans le compartiment spécifié

La commande mv suivante déplace un seul objet dans le compartiment spécifié en conservant son nom d’origine :

aws s3 mv s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket2/

Sortie :

move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt

Exemple 5 : pour déplacer tous les objets et préfixes d’un compartiment dans le répertoire local

Lorsqu’elle est exécutée avec le paramètre --recursive, la commande mv suivante déplace de manière récursive tous les objets relevant d’un compartiment et d’un préfixe spécifiés dans un répertoire spécifié. Dans cet exemple, le compartiment amzn-s3-demo-bucket contient les objets test1.txt et test2.txt.

aws s3 mv s3://amzn-s3-demo-bucket . \ --recursive

Sortie :

move: s3://amzn-s3-demo-bucket/test1.txt to test1.txt move: s3://amzn-s3-demo-bucket/test2.txt to test2.txt

Exemple 6 : pour déplacer tous les objets et préfixes d’un compartiment dans le répertoire local, à l’exception des fichiers .jpg

Lorsqu’elle est exécutée avec le paramètre --recursive, la commande mv suivante déplace de manière récursive tous les fichiers d’un répertoire spécifié dans un compartiment spécifié et avec le préfixe spécifié, tout en excluant certains fichiers à l’aide du paramètre --exclude. Dans cet exemple, le répertoire myDir contient les fichiers test1.txt et test2.jpg.

aws s3 mv myDir s3://amzn-s3-demo-bucket/ \ --recursive \ --exclude "*.jpg"

Sortie :

move: myDir/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt

Exemple 7 : pour déplacer tous les objets et préfixes d’un compartiment dans le répertoire local, à l’exception du préfixe spécifié

Lorsqu’elle est exécutée avec le paramètre --recursive, la commande mv suivante déplace de manière récursive tous les objets relevant d’un compartiment et d’un préfixe spécifiés, tout en excluant certains objets à l’aide du paramètre --exclude. Dans cet exemple, le compartiment amzn-s3-demo-bucket contient les objets test1.txt et another/test1.txt.

aws s3 mv s3://amzn-s3-demo-bucket/ s3://amzn-s3-demo-bucket2/ \ --recursive \ --exclude "amzn-s3-demo-bucket/another/*"

Sortie :

move: s3://amzn-s3-demo-bucket/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt

Exemple 8 : pour déplacer un objet dans le compartiment spécifié et définir la liste ACL

La commande mv suivante déplace un seul objet dans un compartiment et une clé spécifiés tout en définissant la liste ACL sur public-read-write.

aws s3 mv s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt \ --acl public-read-write

Sortie :

move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt

Exemple 9 : pour déplacer un fichier local dans le compartiment spécifié et accorder des autorisations

La commande mv suivante illustre l’utilisation de l’option --grants permettant d’accorder un accès en lecture à tous les utilisateurs et un contrôle total à un utilisateur spécifique identifié par son adresse e-mail.

aws s3 mv file.txt s3://amzn-s3-demo-bucket/ \ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com

Sortie :

move: file.txt to s3://amzn-s3-demo-bucket/file.txt

Exemple 10 : pour déplacer un fichier dans un point d’accès S3

La commande mv suivante déplace un seul fichier nommé mydoc.txt dans le point d’accès nommé myaccesspoint sur la clé nommée mykey.

aws s3 mv mydoc.txt s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Sortie :

move: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
  • Pour plus de détails sur l’API, consultez Mv dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser presign.

AWS CLI

Exemple 1 : pour créer une URL pré-signée, avec une durée de vie par défaut d’une heure, qui renvoie à un objet d’un compartiment S3

La commande presign suivante génère une URL pré-signée, valide pendant une heure, pour un compartiment et une clé spécifiés.

aws s3 presign s3://amzn-s3-demo-bucket/test2.txt

Sortie :

https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456

Exemple 2 : pour créer une URL pré-signée, avec une durée de vie personnalisée, qui renvoie à un objet d’un compartiment S3

La commande presign suivante génère une URL pré-signée, valide pendant une semaine, pour un compartiment et une clé spécifiés.

aws s3 presign s3://amzn-s3-demo-bucket/test2.txt \ --expires-in 604800

Sortie :

https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456

Pour plus d’informations, consultez Partage d’un objet avec d’autres dans le Manuel du développeur Amazon S3.

  • Pour plus de détails sur l’API, consultez Presign dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-accelerate-configuration.

AWS CLI

Pour activer la configuration accélérée d’un compartiment

L’exemple put-bucket-accelerate-configuration suivant active la configuration accélérée du compartiment spécifié.

aws s3api put-bucket-accelerate-configuration \ --bucket amzn-s3-demo-bucket \ --accelerate-configuration Status=Enabled

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser put-bucket-acl.

AWS CLI

Cet exemple accorde l’autorisation full control à deux utilisateurs AWS (user1@example.com et user2@example.com) et l’autorisation read à tout le monde :

aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers

Consultez http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html pour plus d’informations sur les listes ACL personnalisées (les commandes ACL s3api, par exemple put-bucket-acl, utilisent la même notation d’arguments abrégée).

  • Pour plus de détails sur l’API, consultez PutBucketAcl dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-analytics-configuration.

AWS CLI

Pour définir la configuration d’analyse d’un compartiment

L’exemple put-bucket-analytics-configuration suivant configure l’analyse du compartiment spécifié.

aws s3api put-bucket-analytics-configuration \ --bucket amzn-s3-demo-bucket --id 1 \ --analytics-configuration '{"Id": "1","StorageClassAnalysis": {}}'

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser put-bucket-cors.

AWS CLI

L’exemple suivant active les demandes PUT, POST et DELETE provenant de www.example.com, et active les demandes GET provenant de n’importe quel domaine :

aws s3api put-bucket-cors --bucket amzn-s3-demo-bucket --cors-configuration file://cors.json cors.json: { "CORSRules": [ { "AllowedOrigins": ["http://www.example.com"], "AllowedHeaders": ["*"], "AllowedMethods": ["PUT", "POST", "DELETE"], "MaxAgeSeconds": 3000, "ExposeHeaders": ["x-amz-server-side-encryption"] }, { "AllowedOrigins": ["*"], "AllowedHeaders": ["Authorization"], "AllowedMethods": ["GET"], "MaxAgeSeconds": 3000 } ] }
  • Pour plus de détails sur l’API, consultez PutBucketCors dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-encryption.

AWS CLI

Pour configurer le chiffrement côté serveur d’un compartiment

L’exemple put-bucket-encryption suivant définit le chiffrement AES256 comme valeur par défaut pour le compartiment spécifié.

aws s3api put-bucket-encryption \ --bucket amzn-s3-demo-bucket \ --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez PutBucketEncryption dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-intelligent-tiering-configuration.

AWS CLI

Pour mettre à jour une configuration S3 Intelligent-Tiering d’un compartiment

L’exemple put-bucket-intelligent-tiering-configuration suivant met à jour une configuration S3 Intelligent-Tiering, nommée ExampleConfig, d’un compartiment. Cette configuration fait passer les objets inaccessibles sous le préfixe vers Archive Access après 90 jours et Deep Archive Access après 180 jours.

aws s3api put-bucket-intelligent-tiering-configuration \ --bucket amzn-s3-demo-bucket \ --id "ExampleConfig" \ --intelligent-tiering-configuration file://intelligent-tiering-configuration.json

Contenu de intelligent-tiering-configuration.json :

{ "Id": "ExampleConfig", "Status": "Enabled", "Filter": { "Prefix": "images" }, "Tierings": [ { "Days": 90, "AccessTier": "ARCHIVE_ACCESS" }, { "Days": 180, "AccessTier": "DEEP_ARCHIVE_ACCESS" } ] }

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Définition de la propriété d’un objet sur un compartiment existant dans le Guide de l’utilisateur Amazon S3.

L’exemple de code suivant montre comment utiliser put-bucket-inventory-configuration.

AWS CLI

Exemple 1 : pour définir une configuration d’inventaire pour un compartiment

L’exemple put-bucket-inventory-configuration suivant définit un rapport d’inventaire hebdomadaire au format ORC pour le compartiment amzn-s3-demo-bucket.

aws s3api put-bucket-inventory-configuration \ --bucket amzn-s3-demo-bucket \ --id 1 \ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "Format": "ORC" }}, "IsEnabled": true, "Id": "1", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Weekly" }}'

Cette commande ne produit aucune sortie.

Exemple 2 : pour définir une configuration d’inventaire pour un compartiment

L’exemple put-bucket-inventory-configuration suivant définit un rapport d’inventaire quotidien au format CSV pour le compartiment amzn-s3-demo-bucket.

aws s3api put-bucket-inventory-configuration \ --bucket amzn-s3-demo-bucket \ --id 2 \ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "Format": "CSV" }}, "IsEnabled": true, "Id": "2", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Daily" }}'

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser put-bucket-lifecycle-configuration.

AWS CLI

La commande suivante applique une configuration de cycle de vie à un compartiment nommé amzn-s3-demo-bucket :

aws s3api put-bucket-lifecycle-configuration --bucket amzn-s3-demo-bucket --lifecycle-configuration file://lifecycle.json

Le fichier lifecycle.json est un document JSON du dossier en cours qui spécifie deux règles :

{ "Rules": [ { "ID": "Move rotated logs to Glacier", "Prefix": "rotated/", "Status": "Enabled", "Transitions": [ { "Date": "2015-11-10T00:00:00.000Z", "StorageClass": "GLACIER" } ] }, { "Status": "Enabled", "Prefix": "", "NoncurrentVersionTransitions": [ { "NoncurrentDays": 2, "StorageClass": "GLACIER" } ], "ID": "Move old versions to Glacier" } ] }

La première règle déplace les fichiers possédant le préfixe rotated dans Glacier à la date spécifiée. La seconde règle déplace les anciennes versions des objets dans Glacier lorsqu’elles ne sont plus d’actualité. Pour plus d’informations sur les formats d’horodatage acceptables, consultez Spécification des valeurs des paramètres dans le Guide de l’utilisateur de l’interface de ligne de commande AWS.

L’exemple de code suivant montre comment utiliser put-bucket-lifecycle.

AWS CLI

La commande suivante applique une configuration de cycle de vie au compartiment amzn-s3-demo-bucket :

aws s3api put-bucket-lifecycle --bucket amzn-s3-demo-bucket --lifecycle-configuration file://lifecycle.json

Le fichier lifecycle.json est un document JSON du dossier en cours qui spécifie deux règles :

{ "Rules": [ { "ID": "Move to Glacier after sixty days (objects in logs/2015/)", "Prefix": "logs/2015/", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } }, { "Expiration": { "Date": "2016-01-01T00:00:00.000Z" }, "ID": "Delete 2014 logs in 2016.", "Prefix": "logs/2014/", "Status": "Enabled" } ] }

La première règle déplace les fichiers dans Amazon Glacier après soixante jours. La seconde règle supprime les fichiers d’Amazon S3 à la date spécifiée. Pour plus d’informations sur les formats d’horodatage acceptables, consultez Spécification des valeurs des paramètres dans le Guide de l’utilisateur de l’interface de ligne de commande AWS.

Chaque règle de l’exemple ci-dessus spécifie une stratégie (Transition ou Expiration) et un préfixe de fichier (nom de dossier) auxquels elle s’applique. Vous pouvez également créer une règle qui s’applique à l’intégralité d’un compartiment en spécifiant un préfixe vide :

{ "Rules": [ { "ID": "Move to Glacier after sixty days (all objects in bucket)", "Prefix": "", "Status": "Enabled", "Transition": { "Days": 60, "StorageClass": "GLACIER" } } ] }
  • Pour plus de détails sur l’API, consultez PutBucketLifecycle dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-logging.

AWS CLI

Exemple 1 : pour définir la journalisation des stratégies de compartiment

L’exemple put-bucket-logging suivant définit la stratégie de journalisation pour amzn-s3-demo-bucket. Tout d’abord, accordez l’autorisation au principal du service de journalisation dans votre stratégie de compartiment à l’aide de la commande put-bucket-policy.

aws s3api put-bucket-policy \ --bucket amzn-s3-demo-bucket \ --policy file://policy.json

Contenu de policy.json :

{ "Version":"2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": {"Service": "logging.s3.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/Logs/*", "Condition": { "ArnLike": {"aws:SourceARN": "arn:aws:s3:::SOURCE-BUCKET-NAME"}, "StringEquals": {"aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"} } } ] }

Pour appliquer la stratégie de journalisation, utilisez put-bucket-logging.

aws s3api put-bucket-logging \ --bucket amzn-s3-demo-bucket \ --bucket-logging-status file://logging.json

Contenu de logging.json :

{ "LoggingEnabled": { "TargetBucket": "amzn-s3-demo-bucket", "TargetPrefix": "Logs/" } }

La commande put-bucket-policy est requise pour accorder les autorisations s3:PutObject au principal du service de journalisation.

Pour plus d’informations, consultez Journalisation des accès au serveur Amazon S3 dans le Guide de l’utilisateur Amazon S3.

Exemple 2 : pour définir une stratégie de compartiment pour la journalisation des accès pour un seul utilisateur

L’exemple put-bucket-logging suivant définit la stratégie de journalisation pour amzn-s3-demo-bucket. L’utilisateur AWS bob@example.com disposera d’un contrôle total sur les fichiers journaux, et personne d’autre n’y aura accès. Commencez par octroyer l’autorisation S3 avec put-bucket-acl.

aws s3api put-bucket-acl \ --bucket amzn-s3-demo-bucket \ --grant-write URI=http://acs.amazonaws.com/groups/s3/LogDelivery \ --grant-read-acp URI=http://acs.amazonaws.com/groups/s3/LogDelivery

Ensuite, appliquez la stratégie de journalisation avec put-bucket-logging.

aws s3api put-bucket-logging \ --bucket amzn-s3-demo-bucket \ --bucket-logging-status file://logging.json

Contenu de logging.json :

{ "LoggingEnabled": { "TargetBucket": "amzn-s3-demo-bucket", "TargetPrefix": "amzn-s3-demo-bucket-logs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "bob@example.com" }, "Permission": "FULL_CONTROL" } ] } }

La commande put-bucket-acl est requise pour accorder les autorisations nécessaires (écriture et lecture-acp) au système de livraison des journaux d’Amazon S3.

Pour plus d’informations, consultez Journalisation des accès au serveur Amazon S3 dans le Manuel du développeur Amazon S3.

  • Pour plus de détails sur l’API, consultez PutBucketLogging dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-metrics-configuration.

AWS CLI

Pour définir la configuration des métriques d’un compartiment

L’exemple put-bucket-metrics-configuration suivant définit la configuration des métriques avec l’ID 123 pour le compartiment spécifié.

aws s3api put-bucket-metrics-configuration \ --bucket amzn-s3-demo-bucket \ --id 123 \ --metrics-configuration '{"Id": "123", "Filter": {"Prefix": "logs"}}'

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser put-bucket-notification-configuration.

AWS CLI

Pour activer les notifications spécifiées d’un compartiment

L’exemple put-bucket-notification-configuration suivant applique une configuration de notification à un compartiment nommé amzn-s3-demo-bucket. notification.json est un fichier JSON du dossier en cours qui spécifie une rubrique SNS et un type d’événement à surveiller.

aws s3api put-bucket-notification-configuration \ --bucket amzn-s3-demo-bucket \ --notification-configuration file://notification.json

Contenu de notification.json :

{ "TopicConfigurations": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }

La rubrique SNS doit être associée à une politique IAM qui autorise Amazon S3 à y publier.

{ "Version":"2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:us-west-2:123456789012::s3-notification-topic", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:amzn-s3-demo-bucket" } } } ] }

L’exemple de code suivant montre comment utiliser put-bucket-notification.

AWS CLI

Il applique une configuration de notification à un compartiment nommé amzn-s3-demo-bucket :

aws s3api put-bucket-notification --bucket amzn-s3-demo-bucket --notification-configuration file://notification.json

notification.json est un fichier JSON du dossier en cours qui spécifie une rubrique SNS et un type d’événement à surveiller :

{ "TopicConfiguration": { "Event": "s3:ObjectCreated:*", "Topic": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic" } }

La rubrique SNS doit être associée à une politique IAM qui autorise Amazon S3 à y publier :

{ "Version":"2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:us-west-2:123456789012:amzn-s3-demo-bucket", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:amzn-s3-demo-bucket" } } } ] }
  • Pour plus de détails sur l’API, consultez PutBucketNotification dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-ownership-controls.

AWS CLI

Pour mettre à jour les paramètres de propriété d’un compartiment

L’exemple put-bucket-ownership-controls suivant met à jour les paramètres de propriété d’un compartiment.

aws s3api put-bucket-ownership-controls \ --bucket amzn-s3-demo-bucket \ --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Définition de la propriété d’un objet sur un compartiment existant dans le Guide de l’utilisateur Amazon S3.

L’exemple de code suivant montre comment utiliser put-bucket-policy.

AWS CLI

Cet exemple autorise tous les utilisateurs à récupérer n’importe quel objet dans amzn-s3-demo-bucket, à l’exception de ceux du dossier MySecretFolder. Il accorde les autorisations put et delete à l’utilisateur racine du compte AWS 1234-5678-9012 :

aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json policy.json: { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, { "Effect": "Deny", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/MySecretFolder/*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": [ "s3:DeleteObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }
  • Pour plus de détails sur l’API, consultez PutBucketPolicy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-replication.

AWS CLI

Pour configurer la réplication d’un compartiment S3

L’exemple put-bucket-replication suivant applique une configuration de réplication au compartiment S3 spécifié.

aws s3api put-bucket-replication \ --bucket amzn-s3-demo-bucket1 \ --replication-configuration file://replication.json

Contenu de replication.json :

{ "Role": "arn:aws:iam::123456789012:role/s3-replication-role", "Rules": [ { "Status": "Enabled", "Priority": 1, "DeleteMarkerReplication": { "Status": "Disabled" }, "Filter" : { "Prefix": ""}, "Destination": { "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket2" } } ] }

La gestion des versions doit être activée dans le compartiment de destination. Le rôle spécifié doit être autorisé à écrire dans le compartiment de destination et avoir une relation de confiance qui permet à Amazon S3 d’endosser le rôle.

Exemple de politique d’autorisation de rôle :

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ] }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*" ] }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket2/*" } ] }

Exemple de politique de relation de confiance :

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez cette rubrique dans le Guide de l’utilisateur de la console Amazon Simple Storage Service.

  • Pour plus de détails sur l’API, consultez PutBucketReplication dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-request-payment.

AWS CLI

Exemple 1 : pour activer la configuration « Paiement par le demandeur » d’un compartiment

L’exemple put-bucket-request-payment suivant active requester pays pour le compartiment spécifié.

aws s3api put-bucket-request-payment \ --bucket amzn-s3-demo-bucket \ --request-payment-configuration '{"Payer":"Requester"}'

Cette commande ne produit aucune sortie.

Exemple 2 : pour désactiver la configuration « Paiement par le demandeur » d’un compartiment

L’exemple put-bucket-request-payment suivant désactive requester pays pour le compartiment spécifié.

aws s3api put-bucket-request-payment \ --bucket amzn-s3-demo-bucket \ --request-payment-configuration '{"Payer":"BucketOwner"}'

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez PutBucketRequestPayment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-tagging.

AWS CLI

La commande suivante applique une configuration de balisage à un compartiment nommé amzn-s3-demo-bucket :

aws s3api put-bucket-tagging --bucket amzn-s3-demo-bucket --tagging file://tagging.json

Le fichier tagging.json est un document JSON du dossier en cours qui spécifie des balises :

{ "TagSet": [ { "Key": "organization", "Value": "marketing" } ] }

Ou appliquez une configuration de balisage à amzn-s3-demo-bucket directement depuis la ligne de commande :

aws s3api put-bucket-tagging --bucket amzn-s3-demo-bucket --tagging 'TagSet=[{Key=organization,Value=marketing}]'
  • Pour plus de détails sur l’API, consultez PutBucketTagging dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-versioning.

AWS CLI

La commande suivante active la gestion des versions sur un compartiment nommé amzn-s3-demo-bucket :

aws s3api put-bucket-versioning --bucket amzn-s3-demo-bucket --versioning-configuration Status=Enabled

La commande suivante active la gestion des versions et utilise un code mfa :

aws s3api put-bucket-versioning --bucket amzn-s3-demo-bucket --versioning-configuration Status=Enabled --mfa "SERIAL 123456"
  • Pour plus de détails sur l’API, consultez PutBucketVersioning dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-bucket-website.

AWS CLI

Il applique une configuration de site web statique à un compartiment nommé amzn-s3-demo-bucket :

aws s3api put-bucket-website --bucket amzn-s3-demo-bucket --website-configuration file://website.json

Le fichier website.json est un document JSON du dossier en cours qui spécifie les pages d’index et d’erreur du site web :

{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
  • Pour plus de détails sur l’API, consultez PutBucketWebsite dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-object-acl.

AWS CLI

La commande suivante accorde l’autorisation full control à deux utilisateurs AWS (user1@example.com et user2@example.com) et l’autorisation read à tout le monde :

aws s3api put-object-acl --bucket amzn-s3-demo-bucket --key file.txt --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers

Consultez http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html pour plus d’informations sur les listes ACL personnalisées (les commandes ACL s3api, par exemple put-object-acl, utilisent la même notation d’arguments abrégée).

  • Pour plus de détails sur l’API, consultez PutObjectAcl dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-object-legal-hold.

AWS CLI

Pour appliquer une conservation légale à un objet

L’exemple put-object-legal-hold suivant définit une conservation légale sur l’objet doc1.rtf.

aws s3api put-object-legal-hold \ --bucket amzn-s3-demo-bucket-with-object-lock \ --key doc1.rtf \ --legal-hold Status=ON

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez PutObjectLegalHold dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-object-lock-configuration.

AWS CLI

Pour définir la configuration de verrouillage d’objet d’un compartiment

L’exemple put-object-lock-configuration suivant définit un verrouillage d’objet de 50 jours sur le compartiment spécifié.

aws s3api put-object-lock-configuration \ --bucket amzn-s3-demo-bucket-with-object-lock \ --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser put-object-retention.

AWS CLI

Pour définir la configuration de rétention d’un objet

L’exemple put-object-retention suivant définit la configuration de rétention de l’objet spécifié jusqu’au 01/01/2025.

aws s3api put-object-retention \ --bucket amzn-s3-demo-bucket-with-object-lock \ --key doc1.rtf \ --retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }'

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez PutObjectRetention dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-object-tagging.

AWS CLI

Pour définir une balise sur un objet

L’exemple put-object-tagging suivant attribue une balise avec la clé designation et la valeur confidential à l’objet spécifié.

aws s3api put-object-tagging \ --bucket amzn-s3-demo-bucket \ --key doc1.rtf \ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }]}'

Cette commande ne produit aucune sortie.

L’exemple put-object-tagging suivant définit plusieurs balises sur l’objet spécifié.

aws s3api put-object-tagging \ --bucket amzn-s3-demo-bucket-example \ --key doc3.rtf \ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }, { "Key": "department", "Value": "finance" }, { "Key": "team", "Value": "payroll" } ]}'

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez PutObjectTagging dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-object.

AWS CLI

Exemple 1 : pour charger un objet dans Amazon S3

La commande put-object suivante charge un objet dans Amazon S3.

aws s3api put-object \ --bucket amzn-s3-demo-bucket \ --key my-dir/MySampleImage.png \ --body MySampleImage.png

Pour plus d’informations sur le chargement d’objets, consultez Chargement d’objets <http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html> dans le Manuel du développeur Amazon S3.

Exemple 2 : pour charger un fichier vidéo dans Amazon S3

La commande put-object suivante charge un fichier vidéo.

aws s3api put-object \ --bucket amzn-s3-demo-bucket \ --key my-dir/big-video-file.mp4 \ --body /media/videos/f-sharp-3-data-services.mp4

Pour plus d’informations sur le chargement d’objets, consultez Chargement d’objets <http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html> dans le Manuel du développeur Amazon S3.

  • Pour plus de détails sur l’API, consultez PutObject dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-public-access-block.

AWS CLI

Pour définir la configuration du blocage de l’accès public d’un compartiment

L’exemple put-public-access-block suivant définit la configuration du blocage restrictif de l’accès public pour le compartiment spécifié.

aws s3api put-public-access-block \ --bucket amzn-s3-demo-bucket \ --public-access-block-configuration "BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez PutPublicAccessBlock dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser rb.

AWS CLI

Exemple 1 : pour supprimer un compartiment

La commande rb suivante supprime un compartiment. Dans cet exemple, le compartiment de l’utilisateur est amzn-s3-demo-bucket. Notez que le compartiment doit être vide pour pouvoir être supprimé :

aws s3 rb s3://amzn-s3-demo-bucket

Sortie :

remove_bucket: amzn-s3-demo-bucket

Exemple 2 : pour forcer la suppression d’un compartiment

La commande rb suivante utilise le paramètre --force pour supprimer d’abord tous les objets du compartiment, puis le compartiment lui-même. Dans cet exemple, le compartiment de l’utilisateur est amzn-s3-demo-bucket et les objets de amzn-s3-demo-bucket sont test1.txt et test2.txt :

aws s3 rb s3://amzn-s3-demo-bucket \ --force

Sortie :

delete: s3://amzn-s3-demo-bucket/test1.txt delete: s3://amzn-s3-demo-bucket/test2.txt remove_bucket: amzn-s3-demo-bucket
  • Pour plus de détails sur l’API, consultez Rb dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser restore-object.

AWS CLI

Pour créer une demande de restauration d’un objet

L’exemple restore-object suivant restaure l’objet Amazon S3 Glacier spécifié du compartiment my-glacier-bucket pendant 10 jours.

aws s3api restore-object \ --bucket my-glacier-bucket \ --key doc1.rtf \ --restore-request Days=10

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez RestoreObject dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser rm.

AWS CLI

Exemple 1 : pour supprimer un objet S3

La commande rm suivante supprime un seul objet S3 :

aws s3 rm s3://amzn-s3-demo-bucket/test2.txt

Sortie :

delete: s3://amzn-s3-demo-bucket/test2.txt

Exemple 2 : pour supprimer tout le contenu d’un compartiment

Lorsqu’elle est exécutée avec le paramètre --recursive, la commande rm suivante supprime de manière récursive tous les objets relevant d’un préfixe et d’un compartiment spécifiés. Dans cet exemple, le compartiment amzn-s3-demo-bucket contient les objets test1.txt et test2.txt :

aws s3 rm s3://amzn-s3-demo-bucket \ --recursive

Sortie :

delete: s3://amzn-s3-demo-bucket/test1.txt delete: s3://amzn-s3-demo-bucket/test2.txt

Exemple 3 : pour supprimer tout le contenu d’un compartiment, à l’exception des fichiers .jpg

Lorsqu’elle est exécutée avec le paramètre --recursive, la commande rm suivante supprime de manière récursive tous les objets relevant d’un préfixe et d’un compartiment spécifiés, tout en excluant certains objets à l’aide du paramètre --exclude. Dans cet exemple, le compartiment amzn-s3-demo-bucket contient les objets test1.txt et test2.jpg :

aws s3 rm s3://amzn-s3-demo-bucket/ \ --recursive \ --exclude "*.jpg"

Sortie :

delete: s3://amzn-s3-demo-bucket/test1.txt

Exemple 4 : pour supprimer tout le contenu d’un compartiment, à l’exception des objets du préfixe spécifié

Lorsqu’elle est exécutée avec le paramètre --recursive, la commande rm suivante supprime de manière récursive tous les objets relevant d’un préfixe et d’un compartiment spécifiés, tout en excluant tous les objets d’un préfixe particulier à l’aide du paramètre --exclude. Dans cet exemple, le compartiment amzn-s3-demo-bucket contient les objets test1.txt et another/test.txt :

aws s3 rm s3://amzn-s3-demo-bucket/ \ --recursive \ --exclude "another/*"

Sortie :

delete: s3://amzn-s3-demo-bucket/test1.txt

Exemple 5 : pour supprimer un objet d’un point d’accès S3

La commande rm suivante supprime un seul objet (mykey) du point d’accès (myaccesspoint). La commande rm suivante supprime un seul objet (mykey) du point d’accès (myaccesspoint).

aws s3 rm s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Sortie :

delete: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
  • Pour plus de détails sur l’API, consultez Rm dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser select-object-content.

AWS CLI

Pour filtrer le contenu d’un objet Amazon S3 sur la base d’une instruction SQL

L’exemple select-object-content suivant filtre l’objet my-data-file.csv sur la base de l’instruction SQL spécifiée et envoie la sortie dans un fichier.

aws s3api select-object-content \ --bucket amzn-s3-demo-bucket \ --key my-data-file.csv \ --expression "select * from s3object limit 100" \ --expression-type 'SQL' \ --input-serialization '{"CSV": {}, "CompressionType": "NONE"}' \ --output-serialization '{"CSV": {}}' "output.csv"

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez SelectObjectContent dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser sync.

AWS CLI

Exemple 1 : pour synchroniser tous les objets locaux du compartiment spécifié

La commande sync suivante synchronise les objets d’un répertoire local relevant du préfixe et du compartiment spécifiés en chargeant les fichiers locaux dans S3. Un fichier local doit être chargé si sa taille est différente de celle de l’objet S3, si la dernière modification du fichier local est postérieure à la dernière modification de l’objet S3, ou si le fichier local n’existe pas sous le compartiment et le préfixe spécifiés. Dans cet exemple, l’utilisateur synchronise le compartiment amzn-s3-demo-bucket avec le répertoire local en cours. Le répertoire local en cours contient les fichiers test.txt et test2.txt. Le compartiment amzn-s3-demo-bucket ne contient aucun objet.

aws s3 sync . s3://amzn-s3-demo-bucket

Sortie :

upload: test.txt to s3://amzn-s3-demo-bucket/test.txt upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt

Exemple 2 : pour synchroniser tous les objets S3 du compartiment S3 spécifié avec un autre compartiment

La commande sync suivante synchronise les objets relevant d’un préfixe et d’un compartiment spécifiés avec les objets relevant d’un autre préfixe et d’un autre compartiment spécifiés en copiant des objets S3. Un objet S3 doit être copié si les tailles des deux objets S3 sont différentes, si la dernière modification de la source est postérieure à la dernière modification de la destination, ou si l’objet S3 n’existe pas sous le compartiment et le préfixe de destination spécifiés.

Dans cet exemple, l’utilisateur synchronise le compartiment avec amzn-s3-demo-bucket le compartiment amzn-s3-demo-bucket2. Le compartiment amzn-s3-demo-bucket contient les objets test.txt et test2.txt. Le compartiment amzn-s3-demo-bucket2 ne contient aucun objet :

aws s3 sync s3://amzn-s3-demo-bucket s3://amzn-s3-demo-bucket2

Sortie :

copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt copy: s3://amzn-s3-demo-bucket/test2.txt to s3://amzn-s3-demo-bucket2/test2.txt

Exemple 3 : pour synchroniser tous les objets S3 du compartiment S3 spécifié avec le répertoire local

La commande sync suivante synchronise les fichiers du compartiment S3 spécifié avec le répertoire local en téléchargeant des objets S3. Un objet S3 doit être téléchargé si sa taille est différente de celle du fichier local, si la dernière modification de l’objet S3 est postérieure à la dernière modification du fichier local ou si l’objet S3 n’existe pas dans le répertoire local. Notez que lorsque des objets sont téléchargés de S3, l’heure de la dernière modification du fichier local est remplacée par l’heure de la dernière modification de l’objet S3. Dans cet exemple, l’utilisateur synchronise le compartiment amzn-s3-demo-bucket avec le répertoire local en cours. Le compartiment amzn-s3-demo-bucket contient les objets test.txt et test2.txt. Le répertoire local en cours ne contient aucun fichier :

aws s3 sync s3://amzn-s3-demo-bucket .

Sortie :

download: s3://amzn-s3-demo-bucket/test.txt to test.txt download: s3://amzn-s3-demo-bucket/test2.txt to test2.txt

Exemple 4 : pour synchroniser tous les objets locaux avec le compartiment spécifié et supprimer tous les fichiers qui ne correspondent pas

La commande sync suivante synchronise les objets relevant d’un préfixe et d’un compartiment spécifiés avec les fichiers d’un répertoire local en chargeant les fichiers locaux dans S3. En raison du paramètre --delete, tous les fichiers qui existent sous le préfixe et le compartiment spécifiés, mais n’existent pas dans le répertoire local sont supprimés. Dans cet exemple, l’utilisateur synchronise le compartiment amzn-s3-demo-bucket avec le répertoire local en cours. Le répertoire local en cours contient les fichiers test.txt et test2.txt. Le compartiment amzn-s3-demo-bucket contient l’objet test3.txt :

aws s3 sync . s3://amzn-s3-demo-bucket \ --delete

Sortie :

upload: test.txt to s3://amzn-s3-demo-bucket/test.txt upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt delete: s3://amzn-s3-demo-bucket/test3.txt

Exemple 5 : pour synchroniser tous les objets locaux du compartiment spécifié, à l’exception des fichiers .jpg

La commande sync suivante synchronise les objets relevant d’un préfixe et d’un compartiment spécifiés avec les fichiers d’un répertoire local en chargeant les fichiers locaux dans S3. En raison du paramètre --exclude, tous les fichiers correspondant au modèle existant à la fois dans S3 et localement sont exclus de la synchronisation. Dans cet exemple, l’utilisateur synchronise le compartiment amzn-s3-demo-bucket avec le répertoire local en cours. Le répertoire local en cours contient les fichiers test.jpg et test2.txt. Le compartiment amzn-s3-demo-bucket contient l’objet test.jpg d’une taille différente de celle du fichier test.jpg du répertoire local :

aws s3 sync . s3://amzn-s3-demo-bucket \ --exclude "*.jpg"

Sortie :

upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt

Exemple 6 : pour synchroniser tous les objets locaux avec le compartiment spécifié, à l’exception des fichiers du répertoire spécifié

La commande sync suivante synchronise les fichiers d’un répertoire local avec les objets relevant d’un préfixe et d’un compartiment spécifiés en téléchargeant des objets S3. Cet exemple utilise l’indicateur de paramètre --exclude pour exclure un répertoire et un préfixe S3 spécifiés de la commande sync. Dans cet exemple, l’utilisateur synchronise le répertoire local en cours avec le compartiment amzn-s3-demo-bucket. Le répertoire local en cours contient les fichiers test.txt et another/test2.txt. Le compartiment amzn-s3-demo-bucket contient les objets another/test5.txt et test1.txt :

aws s3 sync s3://amzn-s3-demo-bucket/ . \ --exclude "*another/*"

Sortie :

download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt

Exemple 7 : pour synchroniser tous les objets de compartiments situés dans différentes régions

La commande sync suivante synchronise les fichiers de deux compartiments situés dans des régions différentes :

aws s3 sync s3://my-us-west-2-bucket s3://my-us-east-1-bucket \ --source-region us-west-2 \ --region us-east-1

Sortie :

download: s3://my-us-west-2-bucket/test1.txt to s3://my-us-east-1-bucket/test1.txt

Exemple 8 : pour synchroniser un point d’accès S3

La commande sync suivante synchronise le répertoire en cours avec le point d’accès (myaccesspoint) :

aws s3 sync . s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/

Sortie :

upload: test.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test.txt upload: test2.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test2.txt
  • Pour plus de détails sur l’API, consultez Sync dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser upload-part-copy.

AWS CLI

Pour charger une partie d’un objet en copiant les données d’un objet existant comme source de données

L’exemple upload-part-copy suivant charge une partie d’un objet en copiant les données d’un objet existant comme source de données.

aws s3api upload-part-copy \ --bucket amzn-s3-demo-bucket \ --key "Map_Data_June.mp4" \ --copy-source "amzn-s3-demo-bucket/copy_of_Map_Data_June.mp4" \ --part-number 1 \ --upload-id "bq0tdE1CDpWQYRPLHuNG50xAT6pA5D.m_RiBy0ggOH6b13pVRY7QjvLlf75iFdJqp_2wztk5hvpUM2SesXgrzbehG5hViyktrfANpAD0NO.Nk3XREBqvGeZF6U3ipiSm"

Sortie :

{ "CopyPartResult": { "LastModified": "2019-12-13T23:16:03.000Z", "ETag": "\"711470fc377698c393d94aed6305e245\"" } }
  • Pour plus de détails sur l’API, consultez UploadPartCopy dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser upload-part.

AWS CLI

La commande suivante charge la première partie d’un chargement partitionné initié par la commande create-multipart-upload :

aws s3api upload-part --bucket amzn-s3-demo-bucket --key 'multipart/01' --part-number 1 --body part01 --upload-id "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R"

L’option body prend le nom ou le chemin d’un fichier local à charger (n’utilisez pas le préfixe file ://). La taille minimale est de 5 Mo. L’ID de chargement est renvoyé par create-multipart-upload et peut également être extrait aveclist-multipart-uploads. Le compartiment et la clé sont spécifiés lorsque vous créez le chargement partitionné.

Sortie :

{ "ETag": "\"e868e0f4719e394144ef36531ee6824c\"" }

Enregistrez la valeur ETag de chaque partie pour plus tard. Vous en aurez besoin pour effectuer le chargement partitionné.

  • Pour plus de détails sur l’API, consultez UploadPart dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser website.

AWS CLI

Pour configurer un compartiment S3 comme site web statique

La commande suivante configure un compartiment nommé amzn-s3-demo-bucket comme site web statique. L’option Document d’index spécifie le fichier dans amzn-s3-demo-bucket vers lequel les visiteurs seront dirigés lorsqu’ils accèderont à l’URL du site web. En l’occurrence, le compartiment est dans la région us-west-2. L’adresse du site est donc http://amzn-s3-demo-bucket.s3-website-us-west-2.amazonaws.com.

Tous les fichiers du compartiment qui apparaissent sur le site statique doivent être configurés de manière à ce que les visiteurs puissent les ouvrir. Les autorisations de fichiers sont configurées séparément de la configuration du site web du compartiment.

aws s3 website s3://amzn-s3-demo-bucket/ \ --index-document index.html \ --error-document error.html

Pour plus d’informations sur l’hébergement d’un site web statique dans Amazon S3, consultez Hébergement d’un site web statique dans le Manuel du développeur Amazon Simple Storage Service.

  • Pour plus de détails sur l’API, consultez Website dans la Référence des commandes de l’AWS CLI.