Cloud Archive Swift - Mémo de commandes Swift
Objectif
Vous pouvez utiliser l’API OpenStack pour générer divers scripts afin d’automatiser vos actions sur vos instances Public Cloud.
Le swiftclient OpenStack vous permet d’interagir avec vos conteneurs et objets et de les gérer. Vous pourrez par exemple envoyer des fichiers de manière régulière vers vos conteneurs afin de les sauvegarder.
Retrouvez dans ce guide les principales commandes swift pour gérer vos conteneurs d'objets à l’aide de python-swiftclient.
Prérequis
- Préparer l’environnement pour utiliser l’API OpenStack en installant python-swiftclient.
- Charger les variables d’environnement OpenStack.
En pratique
Créer un conteneur PCA
Afficher les informations relatives à un compte
Afficher les informations relatives à un conteneur
Afficher les informations relatives à un objet
Lister le(s) conteneur(s) relatif(s) à un compte
Lister le contenu d'un conteneur
Upload d'un objet inférieur à 5GB
Upload d'un objet supérieur à 5GB en mode SLO
Upload d'un objet supérieur à 5GB en mode DLO
Abandon de l'upload d'un Large Object
Il est donc recommandé de supprimer le conteneur
<conteneur_segments>ou au moins les segments correspondant à l'objet abandonné.
Download d'un objet
Supprimer un conteneur vide
Supprimer un conteneur non vide
Supprimer un objet
Supprimer des objets répondant à un préfixe
Ajouter un metadata à un conteneur
Ajouter un metadata à un objet
Supprimer un metadata d'un conteneur
Supprimer un metadata d'un objet
Définir l'ACL de lecture sur un conteneur
Définir l'ACL d'écriture sur un conteneur
Supprimer l'ACL de lecture sur un conteneur
Supprimer l'ACL d'écriture sur un conteneur
Déplacer des objets d'un conteneur à un autre
Particularité des LargeObject
Dans cet exemple, le LargeObject à été uploadé en mode SLO. Consultez la documentation Mémo de commandes curl pour l'upload du manifest.
Sur un LargeObject, la commande swift copy renvoie une erreur 413 :
Il faut donc commencer par déplacer les segments :
Il faut au préalable créer le <conteneur_de_destination_segments>.
Puis récupérer le manifest, l'adapter et le ré-uploader :
Renommer un conteneur
Il n'est pas possible de renommer un conteneur. Il faut pour cela créer un nouveau conteneur et ré-uploader les objets dedans. Cependant, swift dispose de la fonction copy qui semble fournir de meilleures performances.
Délai pour uploader 2Gb (1500 objets de 1M et 1 objet de 500M) :
On remarque que, pour les petits objets, cela ne change pas grand chose. Par contre, pour les objets de taille un peu plus conséquente (500M) :
Particularité des LargeObject
Dans cet exemple, le LargeObject à été uploadé en mode SLO. Consultez la documentation Mémo de commandes curl pour l'upload du manifest.
Sur un LargeObject, la commande swift copy renvoie une erreur 413 :
Il faut donc commencer par déplacer les segments :
Il faut au préalable créer le <conteneur_de_destination_segments>.
Puis récupérer le manifest, l'adapter et le ré-uploader :
Obtenir l'espace utilisé dans un conteneur
Il n'y a pas de notion de dossier dans un conteneur, cependant on peut utiliser les préfixes :
Obtenir l'id d'un utilisateur
Obtenir les limites du cluster
Aller plus loin
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.
Échangez avec notre communauté d'utilisateurs.