Exemples d'utilisation d'Amazon S3 AWS CLI - AWS Command Line Interface

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

Exemples d'utilisation d'Amazon S3 AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' AWS Command Line Interface aide d'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 montrent comment appeler des fonctions de service individuelles, vous pouvez les visualiser dans leur contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utiliserabort-multipart-upload.

AWS CLI

Pour annuler le téléchargement partitionné spécifié

La abort-multipart-upload commande suivante interrompt le téléchargement partitionné de la clé multipart/01 dans le compartiment. my-bucket

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

L'ID de téléchargement requis par cette commande est généré par create-multipart-upload et peut également être récupéré aveclist-multipart-uploads.

L'exemple de code suivant montre comment utilisercomplete-multipart-upload.

AWS CLI

La commande suivante effectue un téléchargement en plusieurs parties pour la clé contenue multipart/01 dans le compartiment my-bucket :

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

L'ID de téléchargement requis par cette commande est généré par create-multipart-upload et peut également être récupéré aveclist-multipart-uploads.

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

structure :

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

La ETag valeur de chaque partie à télécharger est affichée chaque fois que vous téléchargez une pièce à l'aide de la upload-part commande et peut également être récupérée en appelant list-parts ou calculée en prenant la MD5 somme de contrôle de chaque partie.

Sortie :

{ "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"", "Bucket": "my-bucket", "Location": "https://my-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" }

L'exemple de code suivant montre comment utilisercopy-object.

AWS CLI

La commande suivante copie un objet de bucket-1 vers 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 API plus de détails, voir CopyObjectla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercp.

AWS CLI

Exemple 1 : Copier un fichier local vers S3

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

aws s3 cp test.txt s3://mybucket/test2.txt

Sortie :

upload: test.txt to s3://mybucket/test2.txt

Exemple 2 : Copier un fichier local vers S3 avec une date d'expiration

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

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

Sortie :

upload: test.txt to s3://mybucket/test2.txt

Exemple 3 : Copier un fichier de S3 vers S3

La cp commande suivante copie un seul objet s3 dans un compartiment et une clé spécifiés :

aws s3 cp s3://mybucket/test.txt s3://mybucket/test2.txt

Sortie :

copy: s3://mybucket/test.txt to s3://mybucket/test2.txt

Exemple 4 : Copier un objet S3 dans un fichier local

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

aws s3 cp s3://mybucket/test.txt test2.txt

Sortie :

download: s3://mybucket/test.txt to test2.txt

Exemple 5 : Copier un objet S3 d'un compartiment à un autre

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

aws s3 cp s3://mybucket/test.txt s3://mybucket2/

Sortie :

copy: s3://mybucket/test.txt to s3://mybucket2/test.txt

Exemple 6 : copie récursive d'objets S3 dans un répertoire local

Lorsqu'elle est passée avec le paramètre--recursive, la cp commande suivante copie de manière récursive tous les objets sous un préfixe et un compartiment spécifiés dans un répertoire spécifié. Dans cet exemple, le compartiment mybucket contient les objets test1.txt et test2.txt :

aws s3 cp s3://mybucket . \ --recursive

Sortie :

download: s3://mybucket/test1.txt to test1.txt download: s3://mybucket/test2.txt to test2.txt

Exemple 7 : Copie récursive de fichiers locaux vers S3

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

aws s3 cp myDir s3://mybucket/ \ --recursive \ --exclude "*.jpg"

Sortie :

upload: myDir/test1.txt to s3://mybucket/test1.txt

Exemple 8 : copie récursive d'objets S3 vers un autre compartiment

Lorsqu'elle est passée avec le paramètre--recursive, la cp commande suivante copie de manière récursive tous les objets d'un compartiment spécifié vers un autre compartiment tout en excluant certains objets à l'aide d'un --exclude paramètre. Dans cet exemple, le compartiment mybucket contient les objets test1.txt et another/test1.txt :

aws s3 cp s3://mybucket/ s3://mybucket2/ \ --recursive \ --exclude "another/*"

Sortie :

copy: s3://mybucket/test1.txt to s3://mybucket2/test1.txt

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

aws s3 cp s3://mybucket/logs/ s3://mybucket2/logs/ \ --recursive \ --exclude "*" \ --include "*.log"

Sortie :

copy: s3://mybucket/logs/test/test.log to s3://mybucket2/logs/test/test.log copy: s3://mybucket/logs/test3.log to s3://mybucket2/logs/test3.log

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

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

aws s3 cp s3://mybucket/test.txt s3://mybucket/test2.txt \ --acl public-read-write

Sortie :

copy: s3://mybucket/test.txt to s3://mybucket/test2.txt

Notez que si vous utilisez cette --acl option, assurez-vous que toutes IAM les politiques associées incluent l'"s3:PutObjectAcl"action :

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:::mybucket/*" ], "Effect": "Allow", "Sid": "Stmt1234567891234" } ] } }

Exemple 10 : Octroi d'autorisations pour un objet S3

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

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

Sortie :

upload: file.txt to s3://mybucket/file.txt

Exemple 11 : Chargement d'un flux de fichiers local vers S3

PowerShell peut modifier le codage d'une entrée canalisée ou CRLF en ajouter une.

La cp commande suivante télécharge un flux de fichiers local depuis l'entrée standard vers un compartiment et une clé spécifiés :

aws s3 cp - s3://mybucket/stream.txt

Exemple 12 : Chargement d'un flux de fichiers local de plus de 50 Go vers S3

La cp commande suivante télécharge un flux de fichiers local de 51 Go depuis l'entrée standard vers un compartiment et une clé spécifiés. L'--expected-sizeoption doit être fournie, sinon le téléchargement risque d'échouer lorsqu'il atteint la limite de 10 000 parties par défaut :

aws s3 cp - s3://mybucket/stream.txt --expected-size 54760833024

Exemple 13 : Téléchargement d'un objet S3 en tant que flux de fichiers local

PowerShell peut modifier le codage d'une sortie canalisée ou redirigée ou en ajouter uneCRLF.

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

aws s3 cp s3://mybucket/stream.txt -

Exemple 14 : Téléchargement vers un point d'accès S3

La cp commande suivante télécharge un seul fichier (mydoc.txt) vers le point d'accès (myaccesspoint) au niveau de la touche (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 : Téléchargement depuis un point d'accès S3

La cp commande suivante télécharge un seul objet (mykey) du point d'accès (myaccesspoint) vers 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 API plus de détails, voir Cp dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utilisercreate-bucket.

AWS CLI

Exemple 1 : pour créer un bucket

L'create-bucketexemple suivant crée un compartiment nommé my-bucket :

aws s3api create-bucket \ --bucket my-bucket \ --region us-east-1

Sortie :

{ "Location": "/my-bucket" }

Pour plus d'informations, consultez la section Création d'un compartiment dans le guide de l'utilisateur Amazon S3.

Exemple 2 : pour créer un bucket avec le propriétaire imposé

L'create-bucketexemple suivant crée un bucket nommé my-bucket qui utilise le paramètre imposé par le propriétaire du bucket pour S3 Object Ownership.

aws s3api create-bucket \ --bucket my-bucket \ --region us-east-1 \ --object-ownership BucketOwnerEnforced

Sortie :

{ "Location": "/my-bucket" }

Pour plus d'informations, consultez la section Contrôle de la propriété des objets et désactivation ACLs dans le guide de l'utilisateur Amazon S3.

Exemple 3 : Pour créer un bucket en dehors de la région ``us-east-1``

L'create-bucketexemple suivant crée un compartiment nommé my-bucket dans la eu-west-1 région. Les régions situées en dehors de us-east-1 doivent être spécifiées afin de créer le compartiment dans la région souhaitée. LocationConstraint

aws s3api create-bucket \ --bucket my-bucket \ --region eu-west-1 \ --create-bucket-configuration LocationConstraint=eu-west-1

Sortie :

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

Pour plus d'informations, consultez la section Création d'un compartiment dans le guide de l'utilisateur Amazon S3.

  • Pour API plus de détails, voir CreateBucketla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-multipart-upload.

AWS CLI

La commande suivante crée un téléchargement partitionné dans le bucket my-bucket avec la clé multipart/01 :

aws s3api create-multipart-upload --bucket my-bucket --key 'multipart/01'

Sortie :

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

Le fichier terminé sera nommé 01 dans un dossier appelé multipart dans le compartimentmy-bucket. Enregistrez l'ID de téléchargement, la clé et le nom du compartiment à utiliser avec la upload-part commande.

L'exemple de code suivant montre comment utiliserdelete-bucket-analytics-configuration.

AWS CLI

Pour supprimer une configuration d'analyse pour un bucket

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

aws s3api delete-bucket-analytics-configuration \ --bucket my-bucket \ --id 1

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserdelete-bucket-cors.

AWS CLI

La commande suivante supprime une configuration de partage de ressources entre origines d'un compartiment nommé : my-bucket

aws s3api delete-bucket-cors --bucket my-bucket
  • Pour API plus de détails, voir DeleteBucketCorsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-bucket-encryption.

AWS CLI

Pour supprimer la configuration de chiffrement côté serveur d'un bucket

L'delete-bucket-encryptionexemple suivant supprime la configuration de chiffrement côté serveur du compartiment spécifié.

aws s3api delete-bucket-encryption \ --bucket my-bucket

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserdelete-bucket-intelligent-tiering-configuration.

AWS CLI

Pour supprimer une configuration S3 Intelligent-Tiering sur un bucket

L'delete-bucket-intelligent-tiering-configurationexemple suivant supprime une configuration S3 Intelligent-Tiering, nommée ExampleConfig, sur un bucket.

aws s3api delete-bucket-intelligent-tiering-configuration \ --bucket DOC-EXAMPLE-BUCKET \ --id ExampleConfig

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Utilisation de S3 Intelligent-Tiering dans le guide de l'utilisateur Amazon S3.

L'exemple de code suivant montre comment utiliserdelete-bucket-inventory-configuration.

AWS CLI

Pour supprimer la configuration d'inventaire d'un bucket

L'delete-bucket-inventory-configurationexemple suivant supprime la configuration d'inventaire avec l'ID 1 du compartiment spécifié.

aws s3api delete-bucket-inventory-configuration \ --bucket my-bucket \ --id 1

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserdelete-bucket-lifecycle.

AWS CLI

La commande suivante supprime une configuration de cycle de vie d'un compartiment nommé my-bucket :

aws s3api delete-bucket-lifecycle --bucket my-bucket

L'exemple de code suivant montre comment utiliserdelete-bucket-metrics-configuration.

AWS CLI

Pour supprimer la configuration des métriques d'un bucket

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

aws s3api delete-bucket-metrics-configuration \ --bucket my-bucket \ --id 123

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserdelete-bucket-ownership-controls.

AWS CLI

Pour supprimer les paramètres de propriété d'un bucket

L'delete-bucket-ownership-controlsexemple suivant supprime les paramètres de propriété d'un bucket.

aws s3api delete-bucket-ownership-controls \ --bucket DOC-EXAMPLE-BUCKET

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section 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 utiliserdelete-bucket-policy.

AWS CLI

La commande suivante supprime une politique de bucket d'un bucket nommé my-bucket :

aws s3api delete-bucket-policy --bucket my-bucket
  • Pour API plus de détails, voir DeleteBucketPolicyla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-bucket-replication.

AWS CLI

La commande suivante supprime une configuration de réplication d'un compartiment nommé my-bucket :

aws s3api delete-bucket-replication --bucket my-bucket

L'exemple de code suivant montre comment utiliserdelete-bucket-tagging.

AWS CLI

La commande suivante supprime une configuration de balisage d'un compartiment nommé : my-bucket

aws s3api delete-bucket-tagging --bucket my-bucket
  • Pour API plus de détails, voir DeleteBucketTaggingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-bucket-website.

AWS CLI

La commande suivante supprime la configuration d'un site Web d'un compartiment nommé my-bucket :

aws s3api delete-bucket-website --bucket my-bucket
  • Pour API plus de détails, voir DeleteBucketWebsitela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-bucket.

AWS CLI

La commande suivante supprime un bucket nommé my-bucket :

aws s3api delete-bucket --bucket my-bucket --region us-east-1
  • Pour API plus de détails, voir DeleteBucketla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-object-tagging.

AWS CLI

Pour supprimer les ensembles de balises d'un objet

L'delete-object-taggingexemple suivant supprime de l'objet doc1.rtf la balise avec la clé spécifiée.

aws s3api delete-object-tagging \ --bucket my-bucket \ --key doc1.rtf

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir DeleteObjectTaggingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-object.

AWS CLI

La commande suivante supprime un objet nommé test.txt dans un compartiment nommé my-bucket :

aws s3api delete-object --bucket my-bucket --key test.txt

Si le versionnement des compartiments est activé, la sortie contiendra l'ID de version du marqueur de suppression :

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

Pour plus d'informations sur la suppression d'objets, consultez Supprimer des objets dans le manuel Amazon S3 Developer Guide.

  • Pour API plus de détails, voir DeleteObjectla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-objects.

AWS CLI

La commande suivante supprime un objet d'un compartiment nommé my-bucket :

aws s3api delete-objects --bucket my-bucket --delete file://delete.json

delete.jsonest un JSON document du répertoire en cours qui indique l'objet à supprimer :

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

Sortie :

{ "Deleted": [ { "DeleteMarkerVersionId": "mYAT5Mc6F7aeUL8SS7FAAqUPO1koHwzU", "Key": "test1.txt", "DeleteMarker": true } ] }
  • Pour API plus de détails, voir DeleteObjectsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-public-access-block.

AWS CLI

Pour supprimer la configuration de blocage de l'accès public pour un bucket

L'delete-public-access-blockexemple suivant supprime la configuration de blocage de l'accès public sur le compartiment spécifié.

aws s3api delete-public-access-block \ --bucket my-bucket

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserget-bucket-accelerate-configuration.

AWS CLI

Pour récupérer la configuration accélérée d'un bucket

L'get-bucket-accelerate-configurationexemple suivant récupère la configuration d'accélération pour le compartiment spécifié.

aws s3api get-bucket-accelerate-configuration \ --bucket my-bucket

Sortie :

{ "Status": "Enabled" }

L'exemple de code suivant montre comment utiliserget-bucket-acl.

AWS CLI

La commande suivante permet de récupérer la liste de contrôle d'accès pour un bucket nommé my-bucket :

aws s3api get-bucket-acl --bucket my-bucket

Sortie :

{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" } ] }
  • Pour API plus de détails, voir GetBucketAclla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-bucket-analytics-configuration.

AWS CLI

Pour récupérer la configuration d'analyse d'un bucket avec un ID spécifique

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

aws s3api get-bucket-analytics-configuration \ --bucket my-bucket \ --id 1

Sortie :

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

L'exemple de code suivant montre comment utiliserget-bucket-cors.

AWS CLI

La commande suivante permet de récupérer la configuration du partage de ressources entre origines pour un compartiment nommé : my-bucket

aws s3api get-bucket-cors --bucket my-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 API plus de détails, voir GetBucketCorsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-bucket-encryption.

AWS CLI

Pour récupérer la configuration de chiffrement côté serveur pour un bucket

L'get-bucket-encryptionexemple suivant récupère la configuration de chiffrement côté serveur pour le compartiment. my-bucket

aws s3api get-bucket-encryption \ --bucket my-bucket

Sortie :

{ "ServerSideEncryptionConfiguration": { "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] } }
  • Pour API plus de détails, voir GetBucketEncryptionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-bucket-intelligent-tiering-configuration.

AWS CLI

Pour récupérer une configuration S3 Intelligent-Tiering sur un bucket

L'get-bucket-intelligent-tiering-configurationexemple suivant récupère une configuration S3 Intelligent-Tiering, nommée ExampleConfig, sur un bucket.

aws s3api get-bucket-intelligent-tiering-configuration \ --bucket DOC-EXAMPLE-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 la section Utilisation de S3 Intelligent-Tiering dans le guide de l'utilisateur Amazon S3.

L'exemple de code suivant montre comment utiliserget-bucket-inventory-configuration.

AWS CLI

Pour récupérer la configuration d'inventaire d'un bucket

L'get-bucket-inventory-configurationexemple suivant récupère la configuration d'inventaire pour le compartiment spécifié avec l'ID1.

aws s3api get-bucket-inventory-configuration \ --bucket my-bucket \ --id 1

Sortie :

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

L'exemple de code suivant montre comment utiliserget-bucket-lifecycle-configuration.

AWS CLI

La commande suivante permet de récupérer la configuration du cycle de vie d'un compartiment nommé my-bucket :

aws s3api get-bucket-lifecycle-configuration --bucket my-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 utiliserget-bucket-lifecycle.

AWS CLI

La commande suivante permet de récupérer la configuration du cycle de vie d'un compartiment nommé my-bucket :

aws s3api get-bucket-lifecycle --bucket my-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 API plus de détails, voir GetBucketLifecyclela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-bucket-location.

AWS CLI

La commande suivante permet de récupérer la contrainte d'emplacement pour un compartiment nommémy-bucket, s'il en existe une :

aws s3api get-bucket-location --bucket my-bucket

Sortie :

{ "LocationConstraint": "us-west-2" }
  • Pour API plus de détails, voir GetBucketLocationla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-bucket-logging.

AWS CLI

Pour récupérer l'état de journalisation d'un bucket

L'get-bucket-loggingexemple suivant permet de récupérer l'état de journalisation pour le compartiment spécifié.

aws s3api get-bucket-logging \ --bucket my-bucket

Sortie :

{ "LoggingEnabled": { "TargetPrefix": "", "TargetBucket": "my-bucket-logs" } }
  • Pour API plus de détails, voir GetBucketLoggingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-bucket-metrics-configuration.

AWS CLI

Pour récupérer la configuration des métriques d'un bucket avec un ID spécifique

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

aws s3api get-bucket-metrics-configuration \ --bucket my-bucket \ --id 123

Sortie :

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

L'exemple de code suivant montre comment utiliserget-bucket-notification-configuration.

AWS CLI

La commande suivante permet de récupérer la configuration des notifications pour un compartiment nommé my-bucket :

aws s3api get-bucket-notification-configuration --bucket my-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 utiliserget-bucket-notification.

AWS CLI

La commande suivante permet de récupérer la configuration des notifications pour un compartiment nommé my-bucket :

aws s3api get-bucket-notification --bucket my-bucket

Sortie :

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

L'exemple de code suivant montre comment utiliserget-bucket-ownership-controls.

AWS CLI

Pour récupérer les paramètres de propriété d'un bucket

L'get-bucket-ownership-controlsexemple suivant récupère les paramètres de propriété d'un bucket.

aws s3api get-bucket-ownership-controls \ --bucket DOC-EXAMPLE-BUCKET

Sortie :

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

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

L'exemple de code suivant montre comment utiliserget-bucket-policy-status.

AWS CLI

Pour récupérer le statut de la politique d'un compartiment indiquant s'il est public

L'get-bucket-policy-statusexemple suivant permet de récupérer le statut de la politique pour le compartimentmy-bucket.

aws s3api get-bucket-policy-status \ --bucket my-bucket

Sortie :

{ "PolicyStatus": { "IsPublic": false } }

L'exemple de code suivant montre comment utiliserget-bucket-policy.

AWS CLI

La commande suivante permet de récupérer la politique de compartiment pour un compartiment nommé my-bucket :

aws s3api get-bucket-policy --bucket my-bucket

Sortie :

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

L'exemple policyThe suivant montre comment télécharger une politique de compartiment Amazon S3, apporter des modifications au fichier, puis l'utiliser put-bucket-policy pour appliquer la politique de compartiment modifiée. Pour télécharger la politique du bucket dans un fichier, vous pouvez exécuter :

aws s3api get-bucket-policy --bucket mybucket --query Policy --output text > policy.json

Vous pouvez ensuite modifier le policy.json fichier selon vos besoins. Enfin, vous pouvez réappliquer cette politique modifiée au compartiment S3 en exécutant :

policy.jsonfichier selon les besoins. Enfin, vous pouvez réappliquer cette politique modifiée au compartiment S3 en exécutant :

fichier selon les besoins. Enfin, vous pouvez réappliquer cette politique modifiée au compartiment S3 en exécutant :

aws s3api put-bucket-policy --bucket mybucket --policy file://policy.json
  • Pour API plus de détails, voir GetBucketPolicyla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-bucket-replication.

AWS CLI

La commande suivante permet de récupérer la configuration de réplication pour un compartiment nommé my-bucket :

aws s3api get-bucket-replication --bucket my-bucket

Sortie :

{ "ReplicationConfiguration": { "Rules": [ { "Status": "Enabled", "Prefix": "", "Destination": { "Bucket": "arn:aws:s3:::my-bucket-backup", "StorageClass": "STANDARD" }, "ID": "ZmUwNzE4ZmQ4tMjVhOS00MTlkLOGI4NDkzZTIWJjNTUtYTA1" } ], "Role": "arn:aws:iam::123456789012:role/s3-replication-role" } }

L'exemple de code suivant montre comment utiliserget-bucket-request-payment.

AWS CLI

Pour récupérer la configuration de paiement des demandes pour un bucket

L'get-bucket-request-paymentexemple suivant extrait la configuration payante du demandeur pour le compartiment spécifié.

aws s3api get-bucket-request-payment \ --bucket my-bucket

Sortie :

{ "Payer": "BucketOwner" }

L'exemple de code suivant montre comment utiliserget-bucket-tagging.

AWS CLI

La commande suivante permet de récupérer la configuration de balisage pour un compartiment nommé : my-bucket

aws s3api get-bucket-tagging --bucket my-bucket

Sortie :

{ "TagSet": [ { "Value": "marketing", "Key": "organization" } ] }
  • Pour API plus de détails, voir GetBucketTaggingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-bucket-versioning.

AWS CLI

La commande suivante permet de récupérer la configuration de version pour un compartiment nommé : my-bucket

aws s3api get-bucket-versioning --bucket my-bucket

Sortie :

{ "Status": "Enabled" }
  • Pour API plus de détails, voir GetBucketVersioningla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-bucket-website.

AWS CLI

La commande suivante permet de récupérer la configuration statique du site Web pour un compartiment nommé my-bucket :

aws s3api get-bucket-website --bucket my-bucket

Sortie :

{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
  • Pour API plus de détails, voir GetBucketWebsitela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-object-acl.

AWS CLI

La commande suivante permet de récupérer la liste de contrôle d'accès pour un objet dans un compartiment nommé my-bucket :

aws s3api get-object-acl --bucket my-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 API plus de détails, voir GetObjectAclla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-object-attributes.

AWS CLI

Pour récupérer les métadonnées d'un objet sans renvoyer l'objet lui-même

L'get-object-attributesexemple suivant extrait les métadonnées de l'objetdoc1.rtf.

aws s3api get-object-attributes \ --bucket my-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 GetObjectAttributesle manuel Amazon S3 API Reference.

  • Pour API plus de détails, voir GetObjectAttributesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-object-legal-hold.

AWS CLI

Récupère le statut de conservation légale d'un objet

L'get-object-legal-holdexemple suivant permet de récupérer le statut Legal Hold pour l'objet spécifié.

aws s3api get-object-legal-hold \ --bucket my-bucket-with-object-lock \ --key doc1.rtf

Sortie :

{ "LegalHold": { "Status": "ON" } }
  • Pour API plus de détails, voir GetObjectLegalHoldla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-object-lock-configuration.

AWS CLI

Pour récupérer une configuration de verrouillage d'objet pour un bucket

L'get-object-lock-configurationexemple suivant récupère la configuration du verrouillage d'objet pour le compartiment spécifié.

aws s3api get-object-lock-configuration \ --bucket my-bucket-with-object-lock

Sortie :

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

L'exemple de code suivant montre comment utiliserget-object-retention.

AWS CLI

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

L'get-object-retentionexemple suivant récupère la configuration de rétention d'objets pour l'objet spécifié.

aws s3api get-object-retention \ --bucket my-bucket-with-object-lock \ --key doc1.rtf

Sortie :

{ "Retention": { "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00.000Z" } }
  • Pour API plus de détails, voir GetObjectRetentionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-object-tagging.

AWS CLI

Pour récupérer les tags attachés à un objet

L'get-object-taggingexemple suivant extrait les valeurs de la clé spécifiée à partir de l'objet spécifié.

aws s3api get-object-tagging \ --bucket my-bucket \ --key doc1.rtf

Sortie :

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

L'get-object-taggingexemple suivant essaie de récupérer les ensembles de balises de l'objetdoc2.rtf, qui ne possède aucune balise.

aws s3api get-object-tagging \ --bucket my-bucket \ --key doc2.rtf

Sortie :

{ "TagSet": [] }

L'get-object-taggingexemple suivant récupère les ensembles de balises de l'objetdoc3.rtf, qui possède plusieurs balises.

aws s3api get-object-tagging \ --bucket my-bucket \ --key doc3.rtf

Sortie :

{ "TagSet": [ { "Value": "confidential", "Key": "designation" }, { "Value": "finance", "Key": "department" }, { "Value": "payroll", "Key": "team" } ] }
  • Pour API plus de détails, voir GetObjectTaggingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-object-torrent.

AWS CLI

La commande suivante crée un torrent pour un objet dans un compartiment nommé my-bucket :

aws s3api get-object-torrent --bucket my-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 API plus de détails, voir GetObjectTorrentla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-object.

AWS CLI

L'exemple suivant utilise la get-object commande pour télécharger un objet depuis 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 à partir d'un objet. Notez que les plages d'octets doivent être préfixées par « 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 Getting Objects dans le manuel Amazon S3 Developer Guide.

  • Pour API plus de détails, voir GetObjectla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-public-access-block.

AWS CLI

Pour définir ou modifier la configuration de blocage de l'accès public pour un bucket

L'get-public-access-blockexemple suivant montre la configuration de blocage de l'accès public pour le compartiment spécifié.

aws s3api get-public-access-block \ --bucket my-bucket

Sortie :

{ "PublicAccessBlockConfiguration": { "IgnorePublicAcls": true, "BlockPublicPolicy": true, "BlockPublicAcls": true, "RestrictPublicBuckets": true } }

L'exemple de code suivant montre comment utiliserhead-bucket.

AWS CLI

La commande suivante vérifie l'accès à un compartiment nommé my-bucket :

aws s3api head-bucket --bucket my-bucket

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

A client error (404) occurred when calling the HeadBucket operation: Not Found
  • Pour API plus de détails, voir HeadBucketla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserhead-object.

AWS CLI

La commande suivante permet de récupérer les métadonnées d'un objet dans un compartiment nommé my-bucket :

aws s3api head-object --bucket my-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 API plus de détails, voir HeadObjectla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-bucket-analytics-configurations.

AWS CLI

Pour récupérer la liste des configurations d'analyse pour un bucket

Ce qui suit list-bucket-analytics-configurations permet de récupérer la liste des configurations d'analyse pour le compartiment spécifié.

aws s3api list-bucket-analytics-configurations \ --bucket my-bucket

Sortie :

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

L'exemple de code suivant montre comment utiliserlist-bucket-intelligent-tiering-configurations.

AWS CLI

Pour récupérer toutes les configurations S3 Intelligent-Tiering sur un bucket

L'list-bucket-intelligent-tiering-configurationsexemple suivant récupère l'ensemble de la configuration S3 Intelligent-Tiering d'un bucket.

aws s3api list-bucket-intelligent-tiering-configurations \ --bucket DOC-EXAMPLE-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 la section Utilisation de S3 Intelligent-Tiering dans le guide de l'utilisateur Amazon S3.

L'exemple de code suivant montre comment utiliserlist-bucket-inventory-configurations.

AWS CLI

Pour récupérer la liste des configurations d'inventaire pour un bucket

L'list-bucket-inventory-configurationsexemple suivant répertorie les configurations d'inventaire pour le compartiment spécifié.

aws s3api list-bucket-inventory-configurations \ --bucket my-bucket

Sortie :

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

L'exemple de code suivant montre comment utiliserlist-bucket-metrics-configurations.

AWS CLI

Pour récupérer la liste des configurations de métriques pour un bucket

L'list-bucket-metrics-configurationsexemple suivant extrait une liste de configurations de métriques pour le compartiment spécifié.

aws s3api list-bucket-metrics-configurations \ --bucket my-bucket

Sortie :

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

L'exemple de code suivant montre comment utiliserlist-buckets.

AWS CLI

La commande suivante utilise la list-buckets commande 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 list-buckets jusqu'aux seuls noms de compartiments.

Pour plus d'informations sur les compartiments, consultez la section Utilisation des compartiments Amazon S3 dans le manuel Amazon S3 Developer Guide.

  • Pour API plus de détails, voir ListBucketsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-multipart-uploads.

AWS CLI

La commande suivante répertorie tous les téléchargements partitionnés actifs pour un bucket nommé : my-bucket

aws s3api list-multipart-uploads --bucket my-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 téléchargements partitionnés en cours entraînent des coûts de stockage dans Amazon S3. Terminez ou annulez un téléchargement en plusieurs parties actif pour en supprimer certaines parties de votre compte.

L'exemple de code suivant montre comment utiliserlist-object-versions.

AWS CLI

La commande suivante permet de récupérer les informations de version d'un objet dans un compartiment nommé my-bucket :

aws s3api list-object-versions --bucket my-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 API plus de détails, voir ListObjectVersionsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-objects-v2.

AWS CLI

Pour obtenir la liste des objets d'un bucket

L'list-objects-v2exemple suivant répertorie les objets du compartiment spécifié.

aws s3api list-objects-v2 \ --bucket my-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 API plus de détails, voir ListObjectsV2 dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utiliserlist-objects.

AWS CLI

L'exemple suivant utilise la list-objects commande pour afficher les noms 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'--queryargument pour filtrer la sortie list-objects jusqu'à la valeur clé et à la taille de chaque objet.

Pour plus d'informations sur les objets, consultez la section Travailler avec des objets Amazon S3 dans le manuel Amazon S3 Developer Guide.

  • Pour API plus de détails, voir ListObjectsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-parts.

AWS CLI

La commande suivante répertorie toutes les parties qui ont été téléchargées pour un téléchargement en plusieurs parties avec la clé multipart/01 dans le compartiment my-bucket :

aws s3api list-parts --bucket my-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 API plus de détails, voir ListPartsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserls.

AWS CLI

Exemple 1 : Répertorier tous les buckets appartenant à l'utilisateur

La ls commande suivante répertorie tous les compartiments appartenant à l'utilisateur. Dans cet exemple, l'utilisateur possède les compartiments mybucket etmybucket2. L'horodatage est la date à laquelle le bucket a été créé, indiquée dans le fuseau horaire de votre machine. Cette date peut changer lorsque vous apportez des modifications à votre compartiment, par exemple en modifiant sa politique en matière de compartiment. Notez que s'il s3:// est utilisé pour l'argument path<S3Uri>, il listera également tous les compartiments.

aws s3 ls

Sortie :

2013-07-11 17:08:50 mybucket 2013-07-24 14:55:44 mybucket2

Exemple 2 : liste de tous les préfixes et objets d'un compartiment

La ls commande suivante répertorie les objets et les préfixes courants sous un compartiment et un préfixe spécifiés. Dans cet exemple, l'utilisateur est propriétaire du compartiment mybucket contenant les objets test.txt etsomePrefix/test.txt. Les LastWriteTime et Length sont arbitraires. Notez que puisque la ls commande n'a aucune interaction avec le système de fichiers local, le s3:// URI schéma n'est pas nécessaire pour résoudre l'ambiguïté et peut être omis.

aws s3 ls s3://mybucket

Sortie :

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

Exemple 3 : liste de tous les préfixes et objets d'un compartiment et d'un préfixe spécifiques

La ls commande suivante répertorie les objets et les préfixes courants sous un compartiment et un préfixe spécifiés. Cependant, il n'existe aucun objet ni préfixe commun sous le compartiment et le préfixe spécifiés.

aws s3 ls s3://mybucket/noExistPrefix

Sortie :

None

Exemple 4 : liste récursive de tous les préfixes et objets d'un bucket

La ls commande suivante listera de manière récursive les objets d'un compartiment. Plutôt que de s'afficher PRE dirname/ dans la sortie, tout le contenu d'un bucket sera répertorié dans l'ordre.

aws s3 ls s3://mybucket \ --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 : Récapitulatif de tous les préfixes et objets d'un bucket

La ls commande suivante illustre la même commande à l'aide des options --human-readable et --summarize. --human-readable affiche la taille du fichier en octets/MIB/kib/gib/TIB/PIB/EIB. --summarise affiche le nombre total d'objets et leur taille totale à la fin de la liste des résultats :

aws s3 ls s3://mybucket \ --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 : mise en vente depuis un point d'accès S3

La ls commande suivante répertorie les objets depuis le 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 API plus de détails, voir Ls dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utilisermb.

AWS CLI

Exemple 1 : créer un bucket

La mb commande suivante crée un bucket. Dans cet exemple, l'utilisateur crée le bucketmybucket. Le bucket est créé dans la région spécifiée dans le fichier de configuration de l'utilisateur :

aws s3 mb s3://mybucket

Sortie :

make_bucket: s3://mybucket

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

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

aws s3 mb s3://mybucket \ --region us-west-1

Sortie :

make_bucket: s3://mybucket
  • Pour API plus de détails, voir Mb dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utilisermv.

AWS CLI

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

La mv commande suivante déplace un seul fichier vers un compartiment et une clé spécifiés.

aws s3 mv test.txt s3://mybucket/test2.txt

Sortie :

move: test.txt to s3://mybucket/test2.txt

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

La mv commande suivante déplace un seul objet s3 vers un compartiment et une clé spécifiés.

aws s3 mv s3://mybucket/test.txt s3://mybucket/test2.txt

Sortie :

move: s3://mybucket/test.txt to s3://mybucket/test2.txt

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

La mv commande suivante déplace localement un seul objet vers un fichier spécifié.

aws s3 mv s3://mybucket/test.txt test2.txt

Sortie :

move: s3://mybucket/test.txt to test2.txt

Exemple 4 : déplacer un objet avec son nom d'origine vers le compartiment spécifié

La mv commande suivante déplace un seul objet vers un compartiment spécifié tout en conservant son nom d'origine :

aws s3 mv s3://mybucket/test.txt s3://mybucket2/

Sortie :

move: s3://mybucket/test.txt to s3://mybucket2/test.txt

Exemple 5 : déplacer tous les objets et préfixes d'un bucket vers le répertoire local

Lorsqu'elle est passée avec le paramètre--recursive, la mv commande suivante déplace de manière récursive tous les objets sous un préfixe et un compartiment spécifiés vers un répertoire spécifié. Dans cet exemple, le compartiment mybucket contient les objets test1.txt ettest2.txt.

aws s3 mv s3://mybucket . \ --recursive

Sortie :

move: s3://mybucket/test1.txt to test1.txt move: s3://mybucket/test2.txt to test2.txt

Exemple 6 : déplacer tous les objets et préfixes d'un bucket vers le répertoire local, à l'exception des fichiers ``.jpg``

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

aws s3 mv myDir s3://mybucket/ \ --recursive \ --exclude "*.jpg"

Sortie :

move: myDir/test1.txt to s3://mybucket2/test1.txt

Exemple 7 : déplacer tous les objets et préfixes d'un bucket vers le répertoire local, à l'exception du préfixe spécifié

Lorsqu'elle est passée avec le paramètre--recursive, la mv commande suivante déplace de manière récursive tous les objets d'un compartiment spécifié vers un autre compartiment tout en excluant certains objets à l'aide d'un --exclude paramètre. Dans cet exemple, le compartiment mybucket contient les objets test1.txt etanother/test1.txt.

aws s3 mv s3://mybucket/ s3://mybucket2/ \ --recursive \ --exclude "mybucket/another/*"

Sortie :

move: s3://mybucket/test1.txt to s3://mybucket2/test1.txt

Exemple 8 : déplacer un objet vers le compartiment spécifié et définir le ACL

La mv commande suivante déplace un seul objet vers un compartiment et une clé spécifiés tout en définissant la valeur ACL surpublic-read-write.

aws s3 mv s3://mybucket/test.txt s3://mybucket/test2.txt \ --acl public-read-write

Sortie :

move: s3://mybucket/test.txt to s3://mybucket/test2.txt

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

La mv commande suivante illustre l'utilisation de l'--grantsoption 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://mybucket/ \ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com

Sortie :

move: file.txt to s3://mybucket/file.txt

Exemple 10 : déplacer un fichier vers un point d'accès S3

La mv commande suivante déplace un seul fichier nommé mydoc.txt vers le point d'accès nommé myaccesspoint sur la clé nomméemykey.

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 API plus de détails, voir Mv dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utiliserpresign.

AWS CLI

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

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

aws s3 presign s3://DOC-EXAMPLE-BUCKET/test2.txt

Sortie :

https://DOC-EXAMPLE-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 un document pré-signé URL avec une durée de vie personnalisée qui renvoie à un objet dans un compartiment S3

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

aws s3 presign s3://DOC-EXAMPLE-BUCKET/test2.txt \ --expires-in 604800

Sortie :

https://DOC-EXAMPLE-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 la section Partager un objet avec d'autres dans le guide du développeur S3.

  • Pour API plus de détails, voir Presign dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utiliserput-bucket-accelerate-configuration.

AWS CLI

Pour définir la configuration accélérée d'un bucket

L'put-bucket-accelerate-configurationexemple suivant active la configuration d'accélération pour le compartiment spécifié.

aws s3api put-bucket-accelerate-configuration \ --bucket my-bucket \ --accelerate-configuration Status=Enabled

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserput-bucket-acl.

AWS CLI

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

aws s3api put-bucket-acl --bucket MyBucket --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 de détails sur la personnalisation ACLs (les ACL commandes s3api, par exempleput-bucket-acl, utilisent la même notation abrégée pour les arguments).

  • Pour API plus de détails, voir PutBucketAclla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-bucket-analytics-configuration.

AWS CLI

Pour définir une configuration d'analyse pour le bucket

L'put-bucket-analytics-configurationexemple suivant configure les analyses pour le compartiment spécifié.

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

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserput-bucket-cors.

AWS CLI

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

aws s3api put-bucket-cors --bucket MyBucket --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 API plus de détails, voir PutBucketCorsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-bucket-encryption.

AWS CLI

Pour configurer le chiffrement côté serveur pour un bucket

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

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

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir PutBucketEncryptionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-bucket-intelligent-tiering-configuration.

AWS CLI

Pour mettre à jour une configuration S3 Intelligent-Tiering sur un bucket

L'put-bucket-intelligent-tiering-configurationexemple suivant met à jour une configuration S3 Intelligent-Tiering, nommée ExampleConfig, sur un bucket. La configuration fera passer les objets non accessibles sous le préfixe images vers Archive Access après 90 jours et Deep Archive Access après 180 jours.

aws s3api put-bucket-intelligent-tiering-configuration \ --bucket DOC-EXAMPLE-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 aucun résultat.

Pour plus d'informations, consultez la section 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 utiliserput-bucket-inventory-configuration.

AWS CLI

Exemple 1 : pour définir une configuration d'inventaire pour un bucket

L'put-bucket-inventory-configurationexemple suivant définit un rapport d'inventaire hebdomadaire ORC au format pour le compartiment. my-bucket

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

Cette commande ne produit aucun résultat.

Exemple 2 : pour définir une configuration d'inventaire pour un bucket

L'put-bucket-inventory-configurationexemple suivant définit un rapport d'inventaire CSV au format quotidien pour le compartiment. my-bucket

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

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserput-bucket-lifecycle-configuration.

AWS CLI

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

aws s3api put-bucket-lifecycle-configuration --bucket my-bucket --lifecycle-configuration file://lifecycle.json

Le fichier lifecycle.json est un JSON document du dossier actuel qui définit 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 avec le préfixe rotated vers Glacier à la date spécifiée. La deuxième règle déplace les anciennes versions d'objets vers Glacier lorsqu'elles ne sont plus actuelles. Pour plus d'informations sur les formats d'horodatage acceptables, voir Spécification des valeurs de paramètres dans le guide de l'AWS CLIutilisateur.

L'exemple de code suivant montre comment utiliserput-bucket-lifecycle.

AWS CLI

La commande suivante applique une configuration de cycle de vie au compartiment my-bucket :

aws s3api put-bucket-lifecycle --bucket my-bucket --lifecycle-configuration file://lifecycle.json

Le fichier lifecycle.json est un JSON document du dossier actuel qui définit 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 vers Amazon Glacier au bout de soixante jours. La deuxième règle supprime les fichiers d'Amazon S3 à la date spécifiée. Pour plus d'informations sur les formats d'horodatage acceptables, voir Spécification des valeurs de paramètres dans le guide de l'AWS CLIutilisateur.

Chaque règle de l'exemple ci-dessus spécifie une politique (TransitionouExpiration) 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 API plus de détails, voir PutBucketLifecyclela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-bucket-logging.

AWS CLI

Exemple 1 : pour définir la journalisation des politiques relatives aux compartiments

L'put-bucket-loggingexemple suivant définit la politique de journalisation pour MyBucket. Tout d'abord, accordez au service de journalisation l'autorisation principale dans votre politique de compartiment à l'aide de la put-bucket-policy commande.

aws s3api put-bucket-policy \ --bucket MyBucket \ --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:::MyBucket/Logs/*", "Condition": { "ArnLike": {"aws:SourceARN": "arn:aws:s3:::SOURCE-BUCKET-NAME"}, "StringEquals": {"aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"} } } ] }

Pour appliquer la politique de journalisation, utilisezput-bucket-logging.

aws s3api put-bucket-logging \ --bucket MyBucket \ --bucket-logging-status file://logging.json

Contenu de logging.json :

{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "Logs/" } }

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

Pour plus d'informations, consultez la section Journalisation de l'accès au serveur Amazon S3 dans le guide de l'utilisateur Amazon S3.

Exemple 2 : pour définir une politique de compartiment pour la journalisation de l'accès à un seul utilisateur

L'put-bucket-loggingexemple suivant définit la politique de journalisation pour MyBucket. L' AWS utilisateur bob@example.com aura un contrôle total sur les fichiers journaux, et personne d'autre n'y aura accès. Tout d'abord, accordez l'autorisation S3 avecput-bucket-acl.

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

Appliquez ensuite la politique de journalisation à l'aide deput-bucket-logging.

aws s3api put-bucket-logging \ --bucket MyBucket \ --bucket-logging-status file://logging.json

Contenu de logging.json :

{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "MyBucketLogs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "bob@example.com" }, "Permission": "FULL_CONTROL" } ] } }

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

Pour plus d'informations, consultez la section Journalisation de l'accès au serveur Amazon S3 dans le manuel du développeur Amazon S3.

  • Pour API plus de détails, voir PutBucketLoggingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-bucket-metrics-configuration.

AWS CLI

Pour définir une configuration de métriques pour un bucket

L'put-bucket-metrics-configurationexemple suivant définit une configuration métrique avec l'ID 123 pour le compartiment spécifié.

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

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserput-bucket-notification-configuration.

AWS CLI

Pour activer les notifications spécifiées dans un bucket

L'put-bucket-notification-configurationexemple suivant applique une configuration de notification à un compartiment nommémy-bucket. Le fichier notification.json est un JSON document du dossier actuel qui indique un SNS sujet et un type d'événement à surveiller.

aws s3api put-bucket-notification-configuration \ --bucket my-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:*" ] } ] }

Le SNS sujet doit être associé à une IAM politique autorisant Amazon S3 à y publier.

{ "Version": "2008-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:*:*:my-bucket" } } } ] }

L'exemple de code suivant montre comment utiliserput-bucket-notification.

AWS CLI

Applique une configuration de notification à un compartiment nommé my-bucket :

aws s3api put-bucket-notification --bucket my-bucket --notification-configuration file://notification.json

Le fichier notification.json est un JSON document du dossier actuel qui indique un SNS sujet et un type d'événement à surveiller :

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

Le SNS sujet doit être associé à une IAM politique autorisant Amazon S3 à y publier :

{ "Version": "2008-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:my-bucket", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:my-bucket" } } } ] }

L'exemple de code suivant montre comment utiliserput-bucket-ownership-controls.

AWS CLI

Pour mettre à jour les paramètres de propriété d'un bucket

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

aws s3api put-bucket-ownership-controls \ --bucket DOC-EXAMPLE-BUCKET \ --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section 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 utiliserput-bucket-policy.

AWS CLI

Cet exemple permet à tous les utilisateurs de récupérer n'importe quel objet MyBucketsauf ceux du MySecretFolder. Il accorde put également une delete autorisation à l'utilisateur root du AWS compte 1234-5678-9012 :

aws s3api put-bucket-policy --bucket MyBucket --policy file://policy.json policy.json: { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::MyBucket/*" }, { "Effect": "Deny", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::MyBucket/MySecretFolder/*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": [ "s3:DeleteObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::MyBucket/*" } ] }
  • Pour API plus de détails, voir PutBucketPolicyla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-bucket-replication.

AWS CLI

Pour configurer la réplication pour un compartiment S3

L'put-bucket-replicationexemple suivant applique une configuration de réplication au compartiment S3 spécifié.

aws s3api put-bucket-replication \ --bucket AWSDOC-EXAMPLE-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:::AWSDOC-EXAMPLE-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'assumer le rôle.

Exemple de politique d'autorisation des rôles :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1" ] }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1/*" ] }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-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 aucun résultat.

Pour plus d'informations, consultez Ceci est le titre du sujet dans le guide de l'utilisateur de la console Amazon Simple Storage Service.

L'exemple de code suivant montre comment utiliserput-bucket-request-payment.

AWS CLI

Exemple 1 : Pour activer la configuration ``requester pay`` pour un bucket

L'put-bucket-request-paymentexemple suivant active requester pays le bucket spécifié.

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

Cette commande ne produit aucun résultat.

Exemple 2 : Pour désactiver la configuration ``requester pay`` pour un bucket

L'put-bucket-request-paymentexemple suivant désactive requester pays le bucket spécifié.

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

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserput-bucket-tagging.

AWS CLI

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

aws s3api put-bucket-tagging --bucket my-bucket --tagging file://tagging.json

Le fichier tagging.json est un JSON document du dossier actuel qui spécifie les balises :

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

Ou appliquez une configuration de balisage my-bucket directement depuis la ligne de commande :

aws s3api put-bucket-tagging --bucket my-bucket --tagging 'TagSet=[{Key=organization,Value=marketing}]'
  • Pour API plus de détails, voir PutBucketTaggingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-bucket-versioning.

AWS CLI

La commande suivante active le versionnement sur un bucket nommé my-bucket :

aws s3api put-bucket-versioning --bucket my-bucket --versioning-configuration Status=Enabled

La commande suivante active le versionnement et utilise un code mfa

aws s3api put-bucket-versioning --bucket my-bucket --versioning-configuration Status=Enabled --mfa "SERIAL 123456"
  • Pour API plus de détails, voir PutBucketVersioningla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-bucket-website.

AWS CLI

Applique une configuration de site Web statique à un compartiment nommé my-bucket :

aws s3api put-bucket-website --bucket my-bucket --website-configuration file://website.json

Le fichier website.json est un JSON document du dossier actuel qui indique les pages d'index et d'erreur du site Web :

{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
  • Pour API plus de détails, voir PutBucketWebsitela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-object-acl.

AWS CLI

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

aws s3api put-object-acl --bucket MyBucket --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 de détails sur la personnalisation ACLs (les ACL commandes s3api, par exempleput-object-acl, utilisent la même notation abrégée pour les arguments).

  • Pour API plus de détails, voir PutObjectAclla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-object-legal-hold.

AWS CLI

Pour appliquer une suspension légale à un objet

L'put-object-legal-holdexemple suivant définit une conservation légale sur l'objetdoc1.rtf.

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

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir PutObjectLegalHoldla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-object-lock-configuration.

AWS CLI

Pour définir une configuration de verrouillage d'objets sur un bucket

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

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

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserput-object-retention.

AWS CLI

Pour définir une configuration de rétention d'objets pour un objet

L'put-object-retentionexemple suivant définit une configuration de rétention d'objet pour l'objet spécifié jusqu'au 01/01/2025.

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

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir PutObjectRetentionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-object-tagging.

AWS CLI

Pour définir une étiquette sur un objet

L'put-object-taggingexemple suivant définit une balise avec la clé designation et la valeur confidential sur l'objet spécifié.

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

Cette commande ne produit aucun résultat.

L'put-object-taggingexemple suivant définit plusieurs ensembles de balises sur l'objet spécifié.

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

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir PutObjectTaggingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-object.

AWS CLI

L'exemple suivant utilise la put-object commande pour charger un objet sur Amazon S3 :

aws s3api put-object --bucket text-content --key dir-1/my_images.tar.bz2 --body my_images.tar.bz2

L'exemple suivant montre le téléchargement d'un fichier vidéo (le fichier vidéo est spécifié à l'aide de la syntaxe du système de fichiers Windows). ) :

aws s3api put-object --bucket text-content --key dir-1/big-video-file.mp4 --body e:\media\videos\f-sharp-3-data-services.mp4

Pour plus d'informations sur le téléchargement d'objets, consultez Uploading Objects dans le manuel Amazon S3 Developer Guide.

  • Pour API plus de détails, voir PutObjectla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-public-access-block.

AWS CLI

Pour définir la configuration de blocage de l'accès public pour un bucket

L'put-public-access-blockexemple suivant définit une configuration d'accès public par blocs restrictifs pour le compartiment spécifié.

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

Cette commande ne produit aucun résultat.

L'exemple de code suivant montre comment utiliserrb.

AWS CLI

Exemple 1 : supprimer un bucket

La rb commande suivante supprime un bucket. Dans cet exemple, le bucket de l'utilisateur estmybucket. Notez que le compartiment doit être vide pour pouvoir être retiré :

aws s3 rb s3://mybucket

Sortie :

remove_bucket: mybucket

Exemple 2 : Forcer la suppression d'un bucket

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

aws s3 rb s3://mybucket \ --force

Sortie :

delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt remove_bucket: mybucket
  • Pour API plus de détails, voir Rb dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utiliserrestore-object.

AWS CLI

Pour créer une demande de restauration pour un objet

L'restore-objectexemple suivant restaure l'objet Amazon S3 Glacier spécifié pour le 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 aucun résultat.

  • Pour API plus de détails, voir RestoreObjectla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserrm.

AWS CLI

Exemple 1 : Supprimer un objet S3

La rm commande suivante supprime un seul objet s3 :

aws s3 rm s3://mybucket/test2.txt

Sortie :

delete: s3://mybucket/test2.txt

Exemple 2 : supprimer tout le contenu d'un bucket

La rm commande suivante supprime de manière récursive tous les objets d'un compartiment et d'un préfixe spécifiés lorsqu'elle est transmise avec le paramètre. --recursive Dans cet exemple, le compartiment mybucket contient les objets test1.txt et test2.txt :

aws s3 rm s3://mybucket \ --recursive

Sortie :

delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt

Exemple 3 : Supprimer tout le contenu d'un bucket, à l'exception des fichiers ``.jpg``

La rm commande suivante supprime de manière récursive tous les objets d'un compartiment et d'un préfixe spécifiés lorsqu'elle est transmise avec le paramètre, --recursive tout en excluant certains objets à l'aide d'un paramètre. --exclude Dans cet exemple, le compartiment mybucket contient les objets test1.txt et test2.jpg :

aws s3 rm s3://mybucket/ \ --recursive \ --exclude "*.jpg"

Sortie :

delete: s3://mybucket/test1.txt

Exemple 4 : Supprimer tout le contenu d'un compartiment, à l'exception des objets sous le préfixe spécifié

La rm commande suivante supprime de manière récursive tous les objets d'un compartiment et d'un préfixe spécifiés lorsqu'elle est transmise avec le paramètre, --recursive tout en excluant tous les objets sous un préfixe particulier à l'aide d'un paramètre. --exclude Dans cet exemple, le compartiment mybucket contient les objets test1.txt et another/test.txt :

aws s3 rm s3://mybucket/ \ --recursive \ --exclude "another/*"

Sortie :

delete: s3://mybucket/test1.txt

Exemple 5 : Supprimer un objet d'un point d'accès S3

La rm commande suivante supprime un seul objet (mykey) du point d'accès (myaccesspoint). : : La rm commande 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 API plus de détails, voir Rm dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utiliserselect-object-content.

AWS CLI

Pour filtrer le contenu d'un objet Amazon S3 en fonction d'une SQL instruction

L'select-object-contentexemple suivant filtre l'objet my-data-file.csv avec l'SQLinstruction spécifiée et envoie la sortie dans un fichier.

aws s3api select-object-content \ --bucket my-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 aucun résultat.

  • Pour API plus de détails, voir SelectObjectContentla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisersync.

AWS CLI

Exemple 1 : synchronisation de tous les objets locaux avec le compartiment spécifié

La sync commande suivante synchronise les objets d'un répertoire local avec le préfixe et le compartiment spécifiés en chargeant les fichiers locaux vers S3. Un fichier local devra être chargé si sa taille est différente de celle de l'objet S3, si l'heure de dernière modification du fichier local est plus récente que l'heure de 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 bucket avec mybucket le répertoire courant local. Le répertoire courant local contient les fichiers test.txt ettest2.txt. Le compartiment ne mybucket contient aucun objet.

aws s3 sync . s3://mybucket

Sortie :

upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt

Exemple 2 : Synchroniser tous les objets S3 du compartiment S3 spécifié vers un autre compartiment

La sync commande suivante synchronise les objets sous un préfixe et un compartiment spécifiés avec les objets sous un autre préfixe et compartiment spécifiés en copiant des objets S3. Un objet S3 devra être copié si les tailles des deux objets S3 sont différentes, si l'heure de dernière modification de la source est plus récente que l'heure de dernière modification de la destination ou si l'objet S3 n'existe pas dans le compartiment et le préfixe de destination spécifiés.

Dans cet exemple, l'utilisateur synchronise le bucket avec mybucket le bucketmybucket2. Le compartiment mybucket contient les objets test.txt ettest2.txt. Le bucket ne mybucket2 contient aucun objet :

aws s3 sync s3://mybucket s3://mybucket2

Sortie :

copy: s3://mybucket/test.txt to s3://mybucket2/test.txt copy: s3://mybucket/test2.txt to s3://mybucket2/test2.txt

Exemple 3 : Synchroniser tous les objets S3 du compartiment S3 spécifié vers le répertoire local

La sync commande suivante synchronise les fichiers du compartiment S3 spécifié vers le répertoire local en téléchargeant des objets S3. Un objet S3 devra être téléchargé si sa taille est différente de celle du fichier local, si l'heure de dernière modification de l'objet S3 est plus récente que l'heure de 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 depuis S3, l'heure de dernière modification du fichier local est remplacée par l'heure de dernière modification de l'objet S3. Dans cet exemple, l'utilisateur synchronise le bucket avec mybucket le répertoire local actuel. Le compartiment mybucket contient les objets test.txt ettest2.txt. Le répertoire local actuel ne contient aucun fichier :

aws s3 sync s3://mybucket .

Sortie :

download: s3://mybucket/test.txt to test.txt download: s3://mybucket/test2.txt to test2.txt

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

La sync commande suivante synchronise les objets sous un préfixe et un compartiment spécifiés avec les fichiers d'un répertoire local en téléchargeant les fichiers locaux sur S3. En raison de --delete ce paramètre, tous les fichiers existant sous le préfixe et le compartiment spécifiés mais n'existant pas dans le répertoire local seront supprimés. Dans cet exemple, l'utilisateur synchronise le bucket avec mybucket le répertoire courant local. Le répertoire courant local contient les fichiers test.txt ettest2.txt. Le bucket mybucket contient l'objet test3.txt :

aws s3 sync . s3://mybucket \ --delete

Sortie :

upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt delete: s3://mybucket/test3.txt

Exemple 5 : Synchroniser tous les objets locaux avec le compartiment spécifié, à l'exception des fichiers ``.jpg``

La sync commande suivante synchronise les objets sous un préfixe et un compartiment spécifiés avec les fichiers d'un répertoire local en téléchargeant les fichiers locaux sur S3. En raison de --exclude ce paramètre, tous les fichiers correspondant au modèle existant à la fois dans S3 et localement seront exclus de la synchronisation. Dans cet exemple, l'utilisateur synchronise le bucket avec mybucket le répertoire courant local. Le répertoire courant local contient les fichiers test.jpg ettest2.txt. Le bucket mybucket contient l'objet test.jpg d'une taille différente de celle du compartiment local test.jpg :

aws s3 sync . s3://mybucket \ --exclude "*.jpg"

Sortie :

upload: test2.txt to s3://mybucket/test2.txt

Exemple 6 : Synchroniser tous les objets locaux avec le compartiment spécifié, à l'exception des fichiers ``.jpg``

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

aws s3 sync s3://mybucket/ . \ --exclude "*another/*"

Sortie :

download: s3://mybucket/test1.txt to test1.txt

Exemple 7 : Synchroniser tous les objets entre des compartiments situés dans différentes régions

La sync commande suivante synchronise les fichiers entre 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 : synchronisation avec un point d'accès S3

La sync commande suivante synchronise le répertoire actuel 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 API plus de détails, consultez la section Sync in AWS CLI Command Reference.

L'exemple de code suivant montre comment utiliserupload-part-copy.

AWS CLI

Pour télécharger une partie d'un objet en copiant les données d'un objet existant en tant que source de données

L'upload-part-copyexemple suivant télécharge une partie en copiant les données d'un objet existant en tant que source de données.

aws s3api upload-part-copy \ --bucket my-bucket \ --key "Map_Data_June.mp4" \ --copy-source "my-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 API plus de détails, voir UploadPartCopyla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupload-part.

AWS CLI

La commande suivante télécharge la première partie d'un téléchargement en plusieurs parties initié par la create-multipart-upload commande :

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

L'bodyoption prend le nom ou le chemin d'un fichier local à télécharger (n'utilisez pas le préfixe file ://). La taille minimale des pièces est de 5 Mo. L'identifiant de téléchargement est renvoyé par create-multipart-upload et peut également être récupéré aveclist-multipart-uploads. Le bucket et la clé sont spécifiés lorsque vous créez le téléchargement partitionné.

Sortie :

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

Enregistrez la ETag valeur de chaque pièce pour plus tard. Ils sont nécessaires pour effectuer le téléchargement en plusieurs parties.

  • Pour API plus de détails, voir UploadPartla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserwebsite.

AWS CLI

Configuration d'un compartiment S3 en tant que site Web statique

La commande suivante configure un bucket my-bucket nommé site Web statique. L'option du document d'index indique le fichier vers my-bucket lequel les visiteurs seront dirigés lorsqu'ils navigueront sur le site WebURL. Dans ce cas, le bucket se trouve dans la région us-west-2, le site apparaîtra donc à l'adresse. http://my-bucket.s3-website-us-west-2.amazonaws.com

Tous les fichiers du bucket qui apparaissent sur le site statique doivent être configurés pour permettre aux visiteurs de les ouvrir. Les autorisations sur les fichiers sont configurées séparément de la configuration du site Web du bucket.

aws s3 website s3://my-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 la section Hébergement d'un site Web statique dans le manuel Amazon Simple Storage Service Developer Guide.

  • Pour API plus de détails, voir Site Web dans AWS CLI Command Reference.