Déposer un objet dans un bucket

Vous pouvez déposer un objet local sur un bucket pour créer un backup dans le Cloud ou stocker celui-ci, et le partager avec d’autres utilisateurs.

Puisque la capacité de stockage est limitée par la plateforme de stockage elle-même, les objets ne sont pas limités en taille. Vous pouvez déposer un objet de 1 octet et 5 Gio en une seule commande. Cependant, il est recommandé de déposer les objets de 100 Mio ou plus en plusieurs parties afin de les déposer plus vite. Pour en savoir plus, voir Créer un dépôt partitionné.

Vous pouvez déposer des objets dans vos buckets ou dans le bucket qu’un autre utilisateur a partagé avec vous. Les autres utilisateurs peuvent également déposer des objets dans votre bucket si vous leur avez accordé les permissions appropriées. Pour en savoir plus, voir Référence des Access Control List (ACL).

Nous recommandons de ne pas dépasser 300 dépôts par seconde dans un même bucket.

Vous ne pouvez pas changer la clé d’un objet une fois celui-ci déposé dans un bucket. Si vous déposez un objet qui a la même clé qu’un autre objet déjà contenu dans le bucket, l’objet que vous déposez remplace l’ancien objet. Si le bucket versioning est activé, l’ancien objet est conservé comme version précédente. Pour en savoir plus, voir Activer ou désactiver le versioning d’un bucket.

Par défaut, les objets que vous déposez sont privés. Cependant, vous pouvez partager les objets que vous avez déposés dans votre bucket avec d’autres utilisateurs en utilisant une Access Control List (ACL). Pour en savoir plus, voir Référence des Access Control List (ACL).

Cette action renvoie également un ETag. Cet élément est nécessaire pour créer un dépôt partitionné. Pour en savoir plus, voir Créer un dépôt partitionné.

Assurez-vous de ne pas accorder les permissions de public read pour vos données sensibles.

Pour afficher correctement un fichier binaire tel qu’un PDF dans un navigateur web, vous devez le déposer par le biais de la commande s3 suivante :

$ aws s3 cp --profile YOUR_PROFILE LOCAL_PATH/OBJECT_TO_UPLOAD s3://YOUR_BUCKET --endpoint https://oos.eu-west-2.outscale.com

Déposer un objet dans un bucket avec AWS CLI (s3api)

Avant de commencer : Installez et configurez AWS CLI et définissez votre profil. Pour en savoir plus, voir Installer et configurer AWS CLI.

Pour déposer un objet local dans un bucket, utilisez la commande put-object en suivant cette syntaxe :

Exemple de requête
$ aws s3api put-object \
    --profile YOUR_PROFILE \
    --bucket BUCKET \
    --key OBJECT \
    --body usr/bin/YOUR_OBJECT \
    --acl private \
    --content-length 42 \
    --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-acp "id=USER_ID, id=USER_ID" \
    --endpoint https://oos.eu-west-2.outscale.com

Cette commande contient les attributs suivants que vous devez spécifier :

  • (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.

  • bucket : Le bucket dans lequel vous voulez déposer l’objet.

  • key : Le nom que vous voulez donner à l’objet dans le bucket.

    Vous pouvez utilisez le même préfixe dans les clés de plusieurs objets, au format suivant : prefix/key1, prefix/key2, et ainsi de suite.

    Cette action crée une architecture virtuelle dans votre bucket qui vous permet de retrouver vos objets plus vite lorsque vous les listez. Pour en savoir plus, voir Lister les objets d’un bucket.

  • body : Le chemin d’accès vers l’objet sur votre machine.

    • Lorsque vous spécifiez une nouvelle permission, celle-ci remplace toutes les anciennes. Par conséquent, vous devez spécifiez toutes les permissions dans une seule commande.

    • Lorsque vous spécifiez des permissions, vous devez également spécifier votre adresse e-mail. Sinon, vous perdez les permissions pour votre ressource.

    • Si vous êtes le propriétaire du bucket, la seule permission que vous ne pouvez jamais perdre est la gestion de l’ACL.

    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) acl : Les permissions que vous accordez pour votre objet (private | public-read | public-read-write | authenticated-read | bucket-owner-read | bucket-owner-full-control).

  • (optionnel) content-length : Si la taille ne peut pas être définie automatiquement, la taille de l’objet en octets.

  • (optionnel) grant-full-control : Un ou plusieurs ID d’utilisateurs auxquels vous accordez la permission full-control.

  • (optionnel) grant-read : Un ou plusieurs ID d’utilisateurs auxquels vous accordez la permission read.

  • (optionnel) grant-read-acp : Un ou plusieurs ID d’utilisateurs auxquels vous accordez la permission read-acp.

  • (optionnel) grant-write-acp : Un ou plusieurs ID d’utilisateurs auxquels vous accordez la permission write-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.

  • endpoint : Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête.

La commande put-object renvoie l’élément suivant :

  • Expiration : Si une règle de cycle de vie a été appliquée à l’objet, renvoie les détails sur sa configuration. Pour en savoir plus, voir Gérer le cycle de vie de vos objets.

    • expiry-date : Date et heure d’expiration de l’objet.

    • rule-id : Le nom donné à la règle de cycle de vie.

  • ETag : L’ETag de votre objet dont vous avez besoin pour utiliser les commandes multipart upload. Pour en savoir plus, voir Créer un dépôt partitionné.

  • VersionId : Si le bucket versioning a été activé, l’ID de la version de l’objet.

Exemple de résultat
{
    "Expiration": "expiry-date=\"Fri, 12 Jan 2024 09:30:08 GMT\", rule-id=\"id\"",
    "ETag": "\"fae0000b0d0000fababdd00e0a000000\"",
    "VersionId": "aJfWzV80O5rN00001000001I4j3QKItW"
}

L’objet est déposé sur le bucket.

Déposer un objet dans un bucket avec AWS CLI (s3)

Vous pouvez effectuer cette action en utilisant une commande s3 suivant cette syntaxe :

Exemple de requête
$ aws s3 cp LOCAL_PATH/OBJECT_TO_UPLOAD s3://BUCKET/ \
   --profile YOUR_PROFILE \
   --acl public-read \
   --endpoint https://oos.eu-west-2.outscale.com

Cette commande contient les attributs suivants que vous devez spécifier :

  • s3://BUCKET/OBJECT_TO_UPLOAD : Le chemin d’accès vers l’objet que vous voulez déposer 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) acl : Les permissions que vous accordez à votre objet (private | public-read | public-read-write | authenticated-read).

  • endpoint : Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête.

Déposer un objet dans un bucket avec s3cmd

Avant de commencer : Installez et configurez AWS CLI et définissez votre profil. Pour en savoir plus, voir Installer et configurer AWS CLI.

Vous pouvez gérer vos ressources de stockage objet en utilisant des commandes s3cmd. Pour en savoir plus, voir s3cmd.

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.