Appelé également stockage basé sur les objets, le stockage d’objets est un terme général faisant référence à la façon dont nous organisons et travaillons avec les unités de stockage, appelées objets.
Dans un système de stockage de type objet, un objet est tout simplement un fichier stocké dans le dit système. En revanche il se caractérise par trois éléments qui sont propres à ce type de stockage
Un conteneur Swift est un espace de stockage sur lequel on peut appliquer une politique de stockage (uniquement à la création) et un accès public ou privé. C’est lui qui va contenir les objects envoyés sur Swift.
Conteneurs
sous Stockage d'objet
dans votre dashboard Horizon et cliquez sur + Conteneur
Votre conteneur est créé !
Accès publique
et suppression du conteneur)openstack container create [--storage-policy <POLICY_NAME>] [--public] <CONTAINER>
–storage-policy
- Nom de la storage policy à appliquer au conteneur
–public
- Activer les liens publics du conteneur
CONTAINER
Conteneur à créer
.
openstack container list
openstack container delete [--recursive] <CONTAINER>
–recursive
- Supprimer récursivement les objets dans le conteneur avant la suppression du conteneur
CONTAINER
Conteneur à supprimer
.
Upload
, selectionnez votre fichier et renommer le si besoinopenstack object create [--name <NAME>] <CONTAINER> <FILENAME>
–name
- Téléchargez un fichier et renommez-le. Ne peut être utilisé que lors du téléchargement d’un seul objet
CONTAINER
- Conteneur pour le nouvel objet
FILENAME
Nom du fichier local à télécharger
.
Pour envoyer plusieurs fichiers ou dossiers, vous pouvez utiliser un petit script comme celui ci :
#!/bin/bash
CONTAINER="$1"
FOLDER="$2"
FILESLIST=$(find $FOLDER -type f )
for FILE in $FILESLIST
do
openstack object create $CONTAINER $FILE > /dev/null
if test $? -eq 0; then
echo "[$(date +%Y-%m-%d_%H:%M:%S)] SendFolder ✅ $FILE has been successfully sent to $CONTAINER."
else
echo "[$(date +%Y-%m-%d_%H:%M:%S)] SendFolder ❌ ERROR : A problem was encountered during the upload of $FILE"
fi
done
Pour envoyer un dossier et ses sous dossiers :
./sendfolder.sh <CONTAINER> <FOLDER>
CONTAINER
- Conteneur pour les nouveaux objects
FOLDER
Chemin du dossier local à télécharger
.
openstack object list <CONTAINER>
CONTAINER
Lister les objets de ce conteneur
.
openstack object delete <CONTAINER> <OBJECT>
CONTAINER
- Nom du container contenant l’objet
OBJECT
Nom de l’objet à supprimer
.