Utilisation du service via les commandes AWS-CLI

Présentation

AWS CLI (Command Line Interface) est un logiciel libre (licence Apache 2.0) développé par Amazon Web Services pour permettre l’utilisation des services AWS à travers des commandes dans un terminal (shell Linux ou invite de commandes sous Windows ou Terminal sous OSX). Ce logiciel permet de gérer le stockage, ainsi que les identités et autorisations associées.

Des commandes de haut niveau (plus simples) permettent de s’affranchir de la complexité de l’API S3 pour manipuler compartiments et objets.

Configuration

Prérequis : Avoir installé la version actuelle d’AWS CLI (sous Linux, Windows et macOS), ce référer à la documentation AWS https://docs.aws.amazon.com/fr_fr/cli/latest/userguide/

Procédure minimale de configuration :

  • Ouvrir une fenêtre de commande
  • Exécuter la commande aws configure et entrer :
    • la clé d’accès pour AWS Access Key ID
    • la clé secrète pour AWS Secret Access Key
    • EU pour Default region name
    • valider simplement pour Default output format

NB : l’utilisation de la région EU ne signifie pas que vos données sont localisées hors de France; les données Cloud Avenue sont effectivement stockées en France métropolitaine.

Exemples d’utilisation

Dans les exemples suivants, url représente le hostname de votre point de terminaison de service accessible en HTTPS (voir vos informations de connexion).

Les exemples utilisent des commandes dites « de haut niveau » qui masquent la complexité de l’interface S3 et correspondent à des cas d’usage simples (gestion des compartiments et des objets).

Commande d’utilisation d’un compartiment (bucket)

Lister les compartiments :

Dans l’exemple, 2 compartiments existent (comp1 et comp2).

Lister le contenu d’un compartiment :

Dans l’exemple, le compartiment comp1 contient 3 fichiers (fic2.txt, fichier1.txt et fichierB2.txt) un dossier (ou préfixe) nommé backup. Le contenu du dossier n’est pas listé ici.

Lister récursivement le contenu d’un compartiment :

Dans l’exemple, le compartiment comp1 contient 4 fichiers dont 1 est présent dans un dossier nommé backup. L’option –recursive permet de lister l’intégralité des objets y compris en parcourant les dossiers (ou préfixes).

Les 2 autres options sont facultatives mais permettent une meilleure lisibilité (indication de l’unité de mesure de taille des objets et nombre d’objets et taille totale).

Créer un compartiment :

Dans l’exemple, le compartiment vide comp3 est supprimé.

Supprimer un compartiment contenant au moins un objet :

Dans l’exemple, le compartiment comp1 n’est pas vide; l’option –force est utilisée pour supprimer automatiquement tous les objets et dossiers présents.

Note : l’option –force ne fonctionne pas si la gestion des versions est activée dans le compartiment.

Commande d’utilisation d’un Objet (object)

Copier un objet dans un compartiment :

Dans l’exemple, le fichier local est copié (uploadé) dans le compartiment comp2.

Copier un objet dans un dossier :

Dans l’exemple, le dossier divers est créé s’il n’existe pas déjà dans le compartiment, puis le fichier local est copié (uploadé) dans le dossier (ou préfixe).

Renommer un objet :

Dans l’exemple, le fichier fic2.txt est renommé en fic2bis.txt.

Déplacer un objet :

Dans l’exemple, le dossier (ou préfixe) old est créé, puis le fichier fic2bis.txt y est déplacé.

Déplacer un objet en le renommant :

Dans l’exemple, l’objet fichierB2.txt placé dans le dossier divers est renommé et déplacé dans le dossier (ou préfixe) old en tant que fichierB2.bak

Effacer un objet :

Dans l’exemple, l’objet fichierB2.txt est supprimé; le dossier (ou préfixe) divers est vide; il est supprimé automatiquement.

Effacer un dossier (ou préfixe) :

Dans l’exemple, l’effacement porte sur le dossier old; l’option –recursive provoque l’effacement de tous les objets présents (ici le compartiment est vide).