Tutoriel : Utiliser un dépôt partitionné avec AWS CLI (s3)
Un dépôt partitionné vous permet de déposer de manière efficace et fiable des objets volumineux dans un bucket. Son principe est de décomposer un objet en parties plus petites en vue d’un dépôt parallèle.
Cette fonctionnalité est à la fois compatible avec les commandes s3 de haut niveau et les commandes s3api de bas niveau.
Pour les opérations nécessitant un contrôle plus granulaire, voir Utiliser un dépôt partitionné avec AWS CLI (s3api).
Récupérer la somme de contrôle MD5 de votre objet
Avant de commencer : Installez et configurez AWS CLI. Pour en savoir plus, voir Installer et configurer AWS CLI. |
La somme de contrôle MD5 est un nombre hexadécimal de 32 caractères constituant l’empreinte numérique de votre objet. Pour déposer un objet en une seule partie (généralement pour des objets de 5 Go ou moins), la somme de contrôle MD5 de l’objet correspond automatiquement à l’ETag fourni au terme du dépôt.
Ce n’est pas le cas lors du processus de dépôt partitionné automatiquement initié pour les objets volumineux lorsque les commandes de haut niveau sont utilisées. En effet, les objets volumineux sont divisés en plusieurs parties et sont déposés séparément. Une fois toutes les parties déposées, elles sont combinées pour former l’objet original. Comme s3 additionne les sommes de contrôle de chaque partie dans un dépôt partitonné pour calculer les ETags, l’ETag renvoyé ne correspond alors pas à la somme de contrôle MD5 d’origine de l’objet.
Avant de lancer un dépôt partitionné à l’aide de commandes s3 de haut niveau, vous devez donc calculer la somme de contrôle MD5 de votre objet afin d’en garantir l’intégrité.
-
Naviguez jusqu’à l’emplacement de l’objet volumineux que vous souhaitez déposer.
Exemple de requête$ cd LOCAL_PATH
-
Exécutez la commande suivante pour calculer la somme de contrôle MD5 de votre objet :
Exemple de requête$ md5 LARGE_OBJECT_TO_UPLOAD
La somme de contrôle MD5 de votre objet est renvoyée.
Créer et finaliser un dépôt partitionné avec AWS CLI (s3)
Avant de commencer : Installez et configurez AWS CLI. Pour en savoir plus, voir Installer et configurer AWS CLI. |
Pour déposer un fichier volumineux dans votre bucket et automatiquement déclencher le processus de dépôt partitionné, utilisez la commande cp en suivant cette syntaxe :
$ aws s3 cp LOCAL_PATH/LARGE_OBJECT_TO_UPLOAD s3://BUCKET/ \
--profile YOUR_PROFILE \
--debug \
--acl public-read \
--grant-full-control "id=USER_ID, id=USER_ID" \
--grant-read "id=USER_ID, id=USER_ID" \
--grant-read-acp "id=USER_ID, id=USER_ID" \
--grant-write "id=USER_ID, id=USER_ID" \
--cache-control "no-cache" \
--content-disposition "inline" \
--content-encoding "gzip" \
--content-language "en" \
--content-type text/plain \
--expires "2024-03-01T00:00:00Z" \
--metadata "{\"md5\": \"98ecc26f79229e2388dba73f8f521a95\"}" \
--metadata-directive "REPLACE" \
--expected-size 123456789 \
--website-redirect "/new-page.html" \
--endpoint https://oos.eu-west-2.outscale.com
Certains des attributs utilisés dans cet exemple de requête sont optionnels mais sont fortement recommandés si vous souhaitez garder une trace du processus de dépôt partitionné. Ces attributs sont |
Cette commande contient les attributs suivants que vous devez spécifier :
-
s3://BUCKET/LARGE_OBJECT_TO_UPLOAD
: Le chemin d’accès à l’objet volumineux que vous souhaitez déposer dans le bucket. S3 lance automatiquement le processus de dépôt partitionné pour les objets volumineux en les divisant en parties plus petites, de sorte à assurer un dépôt efficace et fiable. Ces parties sont ensuite réassemblées à l’emplacement désigné dans le bucket. -
(optionnel)
profile
: Le profil nommé que vous voulez utiliser, créé pendant la configuration d’AWS CLI. Pour en savoir plus, voir Installer et configurer AWS CLI. -
(optionnel)
debug
: Si inclus, renvoie le rapport détaillé de l’opération, ce qui est utile pour analyser et résoudre les problèmes. Dans le contexte du dépôt partitionné, il permet de voir exactement comment votre objet a été partitionné puis réassemblé, ainsi que les ETags attribués à chaque partie. -
(optionnel)
acl
: Les permissions que vous accordez pour votre bucket (private
|public-read
|public-read-write
|authenticated-read
).-
Si vous ne spécifiez pas de permission pour votre bucket au moment de sa création, celui-ci sera automatiquement configuré comme
private
. -
Lorsque vous spécifiez une nouvelle permission, celle-ci remplace toutes les anciennes. Par conséquent, vous devez spécifier toutes les permissions dans une seule commande.
Pour en savoir plus à propos des permissions existantes, voir Obtenir des informations sur l’ACL d’un bucket et Obtenir des informations sur l’ACL d’un objet.
-
-
(optionnel)
grant-full-control
: Un ou plusieurs ID d’utilisateurs auxquels vous accordez la permissionfull-control
. -
(optionnel)
grant-read
: Un ou plusieurs ID d’utilisateurs auxquels vous accordez la permissionread
. -
(optionnel)
grant-read-acp
: Un ou plusieurs ID d’utilisateurs auxquels vous accordez la permissionread-acp
. -
(optionnel)
grant-write
: Un ou plusieurs ID d’utilisateurs auxquels vous accordez la permissionwrite
. -
(optionnel)
grant-write-acp
: Un ou plusieurs ID d’utilisateurs auxquels vous accordez la permissionwrite-acp
.-
Vous devez spécifier des ID utilisateur S3. Vous pouvez récupérer les ID utilisateur S3 via les méthodes Lister vos buckets et Lister les objets d’un bucket.
-
Vous pouvez également spécifier des adresses e-mail utilisateur en utilisant le format
emailaddress=name@domain.com
.
-
-
(optionnel)
cache-control
: Comment vous souhaitez que l’objet soit traité en termes de mise en cache (max-age
|max-stale
|min-fresh
|no-cache
|no-store
|no-transform
|only-if-cached
|stale-if-error
). -
(optionnel)
content-disposition
: Comment vous souhaitez que l’objet soit affiché lorsque vous y accédez par le biais d’un navigateur ("inline"
|"attachment"
|"attachment; filename="<NOM_DU_FICHIER>""
)-
inline
: Si possible, demande au navigateur d’afficher le contenu à l’intérieur de la fenêtre du navigateur. Cet attribut est utile pour les images, les PDF et autres types de médias que les navigateurs peuvent facilement interpréter. -
attachment
: Quel que soit le type de fichier, demande au navigateur de télécharger le contenu au lieu de l’afficher en ligne. Le fichier est ainsi enregistré localement. -
"attachment; filename="<NOM_DU_FICHIER>""
: Quel que soit le type de fichier, demande au navigateur de télécharger le contenu au lieu de l’afficher en ligne. Le fichier est ainsi enregistré localement sous le nom de fichier spécifié.
-
-
(optionnel)
content-encoding
: Le format d’encodage de l’objet (gzip
|compress
|deflate
|identity
|br
). -
(optionnel)
content-language
: La langue dans laquelle le contenu de l’objet est rédigé, en code de langue (format ISO 639). -
(optionnel)
content-type
: Le type MIME (Multipurpose Internet Mail Extensions) de l’objet.Un attribut
content-type
mal défini ou absent peut entraîner une mauvaise interprétation ou un mauvais traitement des objets par les navigateurs. En conséquence, vous pouvez rencontrer des difficultés pour accéder à vos objets ou les visualiser à l’aide de votre navigateur préféré. -
(optionnel)
expected-size
: Spécifie la taille attendue du dépôt, en octets. Cette valeur est utile pour les objets de plus de 50 Go, car elle optimise l’allocation des parties et l’utilisation des ressources au cours du processus de dépôt partitionné; -
(optionnel)
expires
: La date et l’heure, au format UTC, à laquelle vous considérez que l’objet ne peut plus être mis en cache et est considéré comme périmé. -
(optionnel)
metadata
: Une carte des entrées de metadata supplémentaires que vous pouvez indiquer librement.-
key
: Le nom de la metadata. -
value
: La valeur de la metadata.
-
Comme le montre l’exemple ci-dessous, vous pouvez stocker la somme de contrôle MD5 de votre objet à l’aide de l’attribut |
-
(optionnel)
metadata-directive
: Indique si les metadata doivent être copiées à partir de l’objet source ou remplacées par les metadata fournies dans la requête (COPY
ouREPLACE
). -
(optionnel)
website-redirect
: Si vous avez configuré le bucket de destination comme un site web, redirige les requêtes pour cet objet vers un autre objet dans le même bucket ou vers une URL externe. -
endpoint
: Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête. Pour en savoir plus, voir Installer et configurer AWS CLI.
Votre objet volumineux est déposé dans votre bucket, le processus de dépôt partitionné étant automatiquement initié en arrière-plan. Pour récupérer des informations sur l’objet, voir Obtenir des informations sur les metadata d’un objet.
Pages connexes
AWS™ et Amazon Web Services™ sont des marques de commerce d'Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.