s3cmd

s3cmd est un outil développé en Python qui permet de gérer des buckets de storage objet avec des commandes de type Unix.

Installation

Si Python est déjà installé sur votre machine, s3cmd est disponible via l’utilitaire pip.

Pour installer s3cmd, lancez la commande suivante :

$ pip3 install s3cmd

Configuration

Dans cet exemple, nous configurons s3cmd pour le service OUTSCALE Object Storage (OOS), sur la Région eu-west-2. Pour en savoir plus, voir À propos d’OOS.

  1. Lancez la commande suivante :

    $ s3cmd --configure
  2. Spécifiez au moins les réglages suivants :

    • Votre access key

    • Votre secret key

    • Votre Région

    • S3 Endpoint : oos.eu-west-2.outscale.com

    • DNS-style bucket+hostname : %(bucket)s.oos.eu-west-2.outscale.com

  3. Dans votre répertoire home, ouvrez le fichier .s3cfg et modifier l’entrée website_endpoint comme suit :

    ~/.s3cfg
    website_endpoint = http://%(bucket)s.oos-website-%(location)s.oos.eu-west-2.outscale.com/

Exemples

  • Créer un bucket :

    $ s3cmd mb s3://MY_BUCKET
  • Lister vos buckets :

    $ s3cmd ls
  • Déposer un objet dans un bucket :

    $ s3cmd put OBJECT s3://MY_BUCKET

    Vous pouvez définir les droits comme publics lorsque vous ajoutez un objet à votre bucket avec le paramètre suivant :

    --acl-public
  • Copier un objet :

    $ s3cmd cp s3://MY_BUCKET/OBJECT_TO_COPY s3://MY_BUCKET_FOR_THE_COPY
  • Lister le contenu d’un bucket :

    $ s3cmd ls s3://my_bucket
  • Télécharger un objet depuis un bucket :

    $ s3cmd get s3://MY_BUCKET/OBJECT NEW_NAME_FOR_THE_DOWNLOADED_OBJECT
  • Supprimer un objet :

    $ s3cmd del s3://my_bucket/bar
  • Signer une URL OOS pour fournir un accès public limité, avec date d’expiration :

    $ s3cmd signurl s3://my_bucket/my_file.png <expiry_in_epoch>
  • Autoriser un objet pour une semaine :

    Allow file for 1 week
    $ s3cmd signurl s3://my_bucket/my_file.png $(echo "`date +%s` + 3600 * 24 * 7" | bc)
  • Supprimer un bucket :

    $ s3cmd rb s3://MY_BUCKET

Pages connexes