Il s'agit de la commande pegasus-s3 qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
pegasus-s3 - Charger, télécharger, supprimer des objets dans Amazon S3
SYNOPSIS
pégase-s3 vous aider
pégase-s3 ls [choix] URL
pégase-s3 mkdir [choix] URL ...
pégase-s3 rmdir [options] URL...
pégase-s3 rm [options] [URL ...]
pégase-s3 mettre [choix] DOSSIER URL
pégase-s3 obtenez [choix] URL [DOSSIER]
pégase-s3 lsup [choix] URL
pégase-s3 rumup [choix] URL [TÉLÉCHARGER]
pégase-s3 cp [choix] SRC.... DEST
DESCRIPTION
pégase-s3 est un client pour le service de stockage d'objets Amazon S3 et tout autre stockage
services conformes à l'API Amazon S3, comme Eucalyptus Walrus.
OPTIONS
Global Options
-h, --Aidez-moi
Afficher le message d'aide pour la sous-commande et quitter
-d, --déboguer
Activer le débogage
-v, --verbeux
Afficher les messages de progression
-C DOSSIER, --conf=DOSSIER
Chemin d'accès au fichier de configuration
rm Options
-f, --Obliger
Si l'URL n'existe pas, ignorez l'erreur.
-F DOSSIER, --déposer=DOSSIER
Fichier contenant une liste d'URL à supprimer
mettre Options
-c X, --taille de morceau=X
Définissez la taille de bloc pour les téléchargements partitionnés sur X Mo. Une valeur de 0 désactive le multipart
téléchargements. La valeur par défaut est de 10 Mo, le minimum est de 5 Mo et le maximum est de 1024 Mo. Ce paramètre
s'applique uniquement aux sites qui prennent en charge les téléchargements en plusieurs parties (voir multipart_uploads
paramètre de configuration dans le CONFIGURATION section). Le nombre maximum de morceaux est
10,000 XNUMX, donc si vous téléchargez un fichier volumineux, la taille du morceau est automatiquement
augmenté pour permettre le téléchargement. Choisissez des valeurs plus petites pour réduire l'impact de
pannes transitoires.
-p N, --parallèle=N
Utilisez N threads pour télécharger DOSSIER en parallèle. La valeur par défaut est 4, ce qui permet
téléchargements parallèles avec 4 threads. Ce paramètre n'est valide que si le site prend en charge
téléchargements multipartites et le --taille de morceau le paramètre n'est pas 0. Sinon, téléchargements parallèles
sont désactivés.
-b, --create-bucket
Créer le bucket de destination s'il n'existe pas déjà
obtenez Options
-c X, --taille de morceau=X
Définissez la taille de bloc pour les téléchargements parallèles à X mégaoctets. Une valeur de 0 évitera
lectures fragmentées. Cette option s'applique uniquement aux sites qui prennent en charge les téléchargements à distance (voir
paramètre de configuration ranged_downloads). La taille de bloc par défaut est de 10 Mo, le minimum est
1 Mo et le maximum est de 1024 Mo. Choisissez des valeurs plus petites pour réduire l'impact des transitoires
les échecs.
-p N, --parallèle=N
Utilisez N threads pour télécharger FILE en parallèle. La valeur par défaut est 4, ce qui permet
téléchargements parallèles avec 4 threads. Ce paramètre n'est valide que si le site prend en charge
téléchargements à distance et le --taille de morceau le paramètre n'est pas 0. Sinon, téléchargements parallèles
sont désactivés.
rumup Options
-a, --tout
Annuler tous les téléchargements pour le bucket spécifié
cp Options
-c, --create-dest
Créez le bucket de destination s'il n'existe pas.
-r, --recursive
Si SRC est un compartiment, copiez toutes les clés de ce compartiment dans DEST. Dans ce cas DEST
doit être un seau.
-f, --Obliger
Si DEST existe, écrasez-le.
SOUS-COMMANDES
pégase-s3 a plusieurs sous-commandes pour différentes opérations de service de stockage.
vous aider
La sous-commande help répertorie toutes les sous-commandes disponibles.
ls
Pour ls la sous-commande répertorie le contenu d'une URL. Si l'URL ne contient pas de bucket,
puis tous les buckets appartenant à l'utilisateur sont répertoriés. Si l'URL contient un bucket, mais
aucune clé, toutes les clés du compartiment sont répertoriées. Si l'URL contient un bucket et un
key, toutes les clés du compartiment commençant par la clé spécifiée sont répertoriées.
mkdir
Pour mkdir la sous-commande crée un ou plusieurs compartiments.
rmdir
Pour rmdir La sous-commande supprime un ou plusieurs compartiments du service de stockage. Afin de
supprimer un bucket, le bucket doit être vide.
rm
Pour rm la sous-commande supprime une ou plusieurs clés du service de stockage.
mettre
Pour mettre la sous-commande stocke le fichier spécifié par FILE dans le service de stockage sous le
bucket et clé spécifiés par URL. Si l'URL contient un compartiment, mais pas une clé, le
le nom du fichier est utilisé comme clé.
En cas d'échec transitoire, le téléchargement sera réessayé plusieurs fois avant
pégase-s3 abandonne et échoue.
Pour mettre la sous-commande peut effectuer des téléchargements groupés et parallèles si le service prend en charge
téléchargements en plusieurs parties (voir multipart_uploads dans le CONFIGURATION section). Actuellement seulement
Amazon S3 prend en charge les téléchargements en plusieurs parties.
Cette sous-commande vérifiera la taille du fichier pour s'assurer qu'il peut être stocké avant
essayer de le stocker.
Les téléchargements groupés sont utiles pour réduire la probabilité d'échec d'un téléchargement. Si un
le téléchargement est fragmenté, puis pégase-s3 émet des requêtes PUT distinctes pour chaque bloc du
déposer. Spécifier des morceaux plus petits (en utilisant --taille de morceau) réduira les chances d'un
le téléchargement a échoué en raison d'une erreur transitoire. La taille des morceaux peut aller de 5 Mo à 1 Go (morceau
les tailles inférieures à 5 Mo ont produit des téléchargements incomplets sur Amazon S3). Le nombre maximal
de morceaux pour un seul fichier est de 10,000 XNUMX, donc si un gros fichier est téléchargé avec un
petite taille de morceau, alors la taille de morceau sera augmentée pour tenir dans le morceau de 10,000 XNUMX
limite. Par défaut, le fichier sera divisé en morceaux de 10 Mo si le service de stockage
prend en charge les téléchargements en plusieurs parties. Les téléchargements groupés peuvent être désactivés en spécifiant une taille de bloc
de 0. Si le téléchargement est fragmenté, chaque fragment est réessayé indépendamment sous
pannes transitoires. Si un morceau échoue de façon permanente, le téléchargement est interrompu.
Les téléchargements parallèles peuvent augmenter les performances des services qui prennent en charge les téléchargements en plusieurs parties.
Dans un téléchargement parallèle, le fichier est divisé en N morceaux et chaque morceau est téléchargé
simultanément par l'un des threads M selon le mode premier arrivé, premier servi. Si la taille du morceau
est défini sur 0, les téléchargements parallèles sont désactivés. Si M > N, alors le nombre réel de
les threads utilisés seront réduits à N. Le nombre de threads peut être spécifié à l'aide de la
--argument parallèle. Si --parallel vaut 1, alors un seul thread est utilisé. Les
la valeur par défaut est 4. Il n'y a pas de nombre maximum de threads, mais il est probable que le
le lien sera saturé de 4 à 8 threads.
Dans certaines circonstances, lorsqu'un téléchargement en plusieurs parties échoue, il peut laisser des données
sur le serveur. Lorsqu'une panne survient, le mettre la sous-commande tentera d'annuler le
télécharger. Si le téléchargement ne peut pas être interrompu, un téléchargement partiel peut rester sur le
serveur. Pour vérifier les téléchargements partiels, exécutez le lsup sous-commande. Si vous voyez un téléchargement
qui a échoué dans la sortie de lsup, puis exécutez le rumup sous-commande pour le supprimer.
obtenez
Pour obtenez la sous-commande récupère un objet du service de stockage identifié par URL et
le stocke dans le fichier spécifié par FILE. Si FILE n'est pas spécifié, la clé est
utilisé comme nom de fichier (Remarque : si la clé comporte des barres obliques, le nom de fichier sera un
sous-répertoire relatif, mais pégase-s3 ne créera pas le sous-répertoire si ce n'est pas le cas
exister).
En cas d'échec transitoire, le téléchargement sera réessayé plusieurs fois avant
pégase-s3 abandonne et échoue.
Pour obtenez la sous-commande peut effectuer des téléchargements groupés et parallèles si le service prend en charge
téléchargements à distance (voir téléchargements_à distance dans le CONFIGURATION section). Actuellement seulement
Amazon S3 prend en charge les téléchargements à distance. Eucalyptus Morse prend en charge à distance
téléchargements, mais la version actuelle, 1.6, est incompatible avec l'interface d'Amazon et
a un bogue qui provoque le blocage des téléchargements à distance dans certains cas. Il est recommandé de
les téléchargements à distance ne doivent pas être utilisés avec Eucalyptus tant que ces problèmes ne sont pas résolus.
Les téléchargements groupés peuvent être utilisés pour réduire la probabilité d'échec d'un téléchargement. Lorsqu'un
le téléchargement est fragmenté, pégase-s3 émet des requêtes GET distinctes pour chaque bloc du
déposer. Spécifier des morceaux plus petits (en utilisant --taille de morceau) réduira les chances qu'un
le téléchargement échouera à faire une erreur passagère. La taille des blocs peut aller de 1 Mo à 1 Go.
Par défaut, un téléchargement sera divisé en morceaux de 10 Mo si le site prend en charge la plage
téléchargements. Les téléchargements groupés peuvent être désactivés en spécifiant un --taille de morceau de 0. Si un
le téléchargement est fragmenté, puis chaque fragment est réessayé indépendamment sous transitoire
les échecs. Si un morceau échoue de façon permanente, le téléchargement est interrompu.
Les téléchargements parallèles peuvent augmenter les performances des services prenant en charge
téléchargements. Dans un téléchargement parallèle, le fichier à récupérer est divisé en N morceaux et
chaque morceau est téléchargé simultanément par l'un des M threads dans un premier arrivé,
mode du premier servi. Si la taille de bloc est de 0, les téléchargements parallèles sont désactivés. Si
M > N, alors le nombre réel de threads utilisés sera réduit à N. Le nombre de threads
les threads peuvent être spécifiés à l'aide de l'argument --parallel. Si --parallel vaut 1, alors seulement
un seul fil est utilisé. La valeur par défaut est 4. Il n'y a pas de nombre maximum de
threads, mais il est probable que le lien soit saturé de 4 à 8 threads.
lsup
Pour lsup la sous-commande répertorie les téléchargements partitionnés actifs. L'URL spécifiée doit pointer vers
un seau. Cette commande n'est valide que si le site prend en charge les téléchargements partitionnés. Les
la sortie de cette commande est une liste de clés et d'ID de téléchargement.
Cette sous-commande est utilisée avec rumup pour aider à récupérer des échecs de téléchargements partitionnés.
rumup
Pour rumup la sous-commande annule et le téléchargement actif. L'URL spécifiée doit pointer vers un
et UPLOAD est l'ID de téléchargement long et compliqué affiché par le lsup sous-commande.
Cette sous-commande est utilisée avec lsup pour récupérer des échecs de téléchargements partitionnés.
cp
Pour cp la sous-commande copie les clés sur le serveur. Les clés ne peuvent pas être copiées entre les comptes.
URL Format
Toutes les URL des objets stockés dans S3 doivent être spécifiées au format suivant :
s3[s]://USER@SITE[/BUCKET[/KEY]]
La partie protocole peut être s3: // or s3s://. Si s3s:// est utilisé, alors pégase-s3 forcera
la connexion pour utiliser SSL et remplacer le paramètre dans le fichier de configuration. Si s3:// est
utilisé, alors si la connexion utilise SSL ou non est déterminé par la valeur du
point final variable dans la configuration du site.
Pour UTILISATEUR@SITE une partie est requise, mais le SEAU et mes clé - KEY les pièces peuvent être facultatives selon
le contexte.
Pour UTILISATEUR@SITE partie est appelée « identité » et la SITE la partie est renvoyée
en tant que « site ». L'identité et le site sont recherchés dans le fichier de configuration
(voir CONFIGURATION) pour déterminer les paramètres à utiliser lors de l'établissement d'une connexion à
le service. La partie site est utilisée pour trouver l'hôte et le port, s'il faut utiliser SSL, et
autres choses. La partie identité est utilisée pour déterminer les jetons d'authentification à
utilisation. Ce format est conçu pour permettre aux utilisateurs d'utiliser facilement plusieurs services avec plusieurs
jetons d'authentification. Notez que ni le UTILISATEUR ni l' SITE partie de l'URL ont des
sens en dehors de pégase-s3. Ils ne font pas référence à de vrais noms d'utilisateur ou noms d'hôte, mais sont
plutôt des poignées utilisées pour rechercher des valeurs de configuration dans le fichier de configuration.
La partie BUCKET de l'URL est la partie entre les 3e et 4e barres obliques. Les seaux sont
partie d'un espace de noms global qui est partagé avec d'autres utilisateurs du service de stockage. Comme
tels, ils devraient être uniques.
La partie KEY de l'URL est n'importe quoi après la 4ème barre oblique. Les clés peuvent inclure des barres obliques, mais
Les services de stockage de type S3 n'ont pas le concept d'un répertoire comme les systèmes de fichiers classiques.
Au lieu de cela, les clés sont traitées comme des identifiants opaques pour des objets individuels. Ainsi, par exemple,
les clés a / b et mes a / c ont un préfixe commun, mais on ne peut pas dire qu'ils sont dans le même annuaire.
Voici quelques exemples d'URL :
s3://ewa@amazon
s3://juve@skynet/gideon.isi.edu
s3://juve@magellan/pegasus-images/centos-5.5-x86_64-20101101.part.1
s3s://ewa@amazon/pegasus-images/data.tar.gz
CONFIGURATION
Chaque utilisateur doit spécifier un fichier de configuration qui pégase-s3 utilisera pour rechercher
paramètres de connexion et jetons d'authentification.
Rechercher Chemin
Ce client cherchera dans les emplacements suivants, afin de localiser l'utilisateur
fichier de configuration:
1. L'argument -C/--conf
2. La variable d'environnement S3CFG
3. $HOME/.pegasus/s3cfg
4. $HOME/.s3cfg
S'il ne trouve pas le fichier de configuration dans l'un de ces emplacements, il échouera avec un
Erreur. L'emplacement $HOME/.s3cfg n'est pris en charge que pour la compatibilité descendante.
$HOME/.pegasus/s3cfg doit être utilisé à la place.
Configuration Fichier Format
Le fichier de configuration est au format INI et contient deux types d'entrées.
Le premier type d'entrée est une entrée de site, qui spécifie la configuration d'un stockage
service. Cette entrée spécifie le point de terminaison de service qui pégase-s3 devrait se connecter à pour
le site et certaines fonctionnalités facultatives que le site peut prendre en charge. Voici un exemple de
entrée de site pour Amazon S3 :
[amazone]
point final = http://s3.amazonaws.com/
L'autre type d'entrée est une entrée d'identité, qui spécifie l'authentification
informations pour un utilisateur sur un site particulier. Voici un exemple d'entrée d'identité :
[pégase@amazon]
access_key = 90c4143642cb097c88fe2ec66ce4ad4e
secret_key = a0e3840e5baee6abb08be68e81674dca
Il est important de noter que les noms d'utilisateur et les noms de site utilisés ne sont que logiques - ils ne
correspondent à des noms d'hôtes ou des noms d'utilisateur réels, mais sont simplement utilisés comme un moyen pratique de
se référer aux services et aux identités utilisées par le client.
Le fichier de configuration doit être enregistré avec des autorisations limitées. Seul le propriétaire du
doit pouvoir le lire et y écrire (c'est-à-dire qu'il doit avoir les autorisations de
0600 ou 0400). Si le fichier a des autorisations plus libérales, alors pégase-s3 échouera avec un
Message d'erreur. Le but de ceci est d'empêcher les jetons d'authentification stockés dans le
fichier de configuration d'être consulté par d'autres utilisateurs.
Configuration Variables
point final (placer)
L'URL du point de terminaison du service Web. Si l'URL commence par https, alors SSL sera
utilisé.
taille_objet_max (placer)
La taille maximale d'un objet en Go (par défaut : 5 Go)
multipart_uploads (placer)
Le service prend-il en charge les téléchargements en plusieurs parties (True/False, par défaut : False)
téléchargements_à distance (placer)
Le service prend-il en charge les téléchargements à distance ? (Vrai/Faux, par défaut : Faux)
clef d'accès (identité)
La clé d'accès pour l'identité
clef secrète (identité)
La clé secrète de l'identité
Exemple Configuration
Ceci est un exemple de configuration qui spécifie deux sites (amazon et magellan) et
trois identités (pegasus@amazon,juve@magellan et voeckler@magellan). pour l'amazone
site, la taille maximale de l'objet est de 5 To, et le site prend en charge les téléchargements en plusieurs parties et
téléchargements à distance, de sorte que les téléchargements et les téléchargements peuvent être effectués en parallèle.
[amazone]
point de terminaison = https://s3.amazonaws.com/
taille_objet_max = 5120
multipart_uploads = Vrai
ranged_downloads = Vrai
[pégase@amazon]
access_key = 90c4143642cb097c88fe2ec66ce4ad4e
secret_key = a0e3840e5baee6abb08be68e81674dca
[magellan]
# NERSC Magellan est un site d'Eucalyptus. Il ne prend pas en charge les téléchargements en plusieurs parties,
# ou téléchargements à distance (par défaut), et la taille maximale de l'objet est de 5 Go
# (également la valeur par défaut)
point de terminaison = https://128.55.69.235:8773/services/Walrus
[juve@magellan]
access_key = quwefahsdpfwlkewqjsdoijldsdf
clé_secrète = asdfa9wejalsdjfljasldjfasdfa
[voeckler@magellan]
# Chaque site peut avoir plusieurs identités associées
access_key = asdkfaweasdfbaeiwhkjfbaqwhei
secret_key = asdhfuinakwjelfuhalsdflahsdl
EXEMPLE
Répertorier tous les buckets appartenant à l'identité utilisateur@amazon:
$ pegasus-s3 ls s3://utilisateur@amazon
Lister le contenu du bucket Bar pour l'identité utilisateur@amazon:
$ pegasus-s3 ls s3://user@amazon/bar
Répertorier tous les objets du bucket Bar qui commencent par hello:
$ pegasus-s3 ls s3://user@amazon/bar/hello
Créez un compartiment appelé mon seau pour l'identité utilisateur@amazon:
$ pegasus-s3 mkdir s3://user@amazon/mybucket
Supprimer un bucket appelé mon seau:
$ pegasus-s3 rmdir s3://user@amazon/mybucket
Télécharger un fichier foo seau Bar:
$ pegasus-s3 putfoo s3://user@amazon/bar/foo
Télécharger un objet foo en seau Bar:
$ pegasus-s3 obtenir s3://user@amazon/bar/foo foo
Téléchargez un fichier en parallèle avec 4 threads et des morceaux de 100 Mo :
$ pegasus-s3 put --parallel 4 --chunksize 100 foo s3://user@amazon/bar/foo
Téléchargez un objet en parallèle avec 4 threads et des morceaux de 100 Mo :
$ pegasus-s3 get --parallel 4 --chunksize 100 s3://user@amazon/bar/foo foo
Répertorier tous les téléchargements partiels pour le bucket Bar:
$ pegasus-s3 lsup s3://user@amazon/bar
Supprimer toutes les importations partielles pour le bucket Bar:
$ pegasus-s3 rmup --all s3://user@amazon/bar
RETOUR VALEURE
pégase-s3 renvoie un état d'existence zéro si l'opération réussit. Une sortie non nulle
l'état est renvoyé en cas d'échec.
Utilisez pegasus-s3 en ligne à l'aide des services onworks.net