Dies ist der Befehl pegasus-s3, der im kostenlosen OnWorks-Hosting-Provider über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
pegasus-s3 - Hochladen, Herunterladen, Löschen von Objekten in Amazon S3
ZUSAMMENFASSUNG
pegasus-s3 Hilfe
pegasus-s3 ls [Optionen] URL
pegasus-s3 mkdir [Optionen] URL ...
pegasus-s3 rmdir [Optionen] URL...
pegasus-s3 rm [Optionen] [URL ...]
pegasus-s3 setzen [Optionen] FILE URL
pegasus-s3 bekommen [Optionen] URL [FILE]
pegasus-s3 lsup [Optionen] URL
pegasus-s3 rump [Optionen] URL [HOCHLADEN]
pegasus-s3 cp [Optionen] SRK... ZIEL
BESCHREIBUNG
pegasus-s3 ist ein Client für den Amazon S3-Objektspeicherdienst und jeden anderen Speicher
Dienste, die der Amazon S3-API entsprechen, wie Eucalyptus Walrus.
OPTIONAL
Global Optionen
-h, --help
Hilfenachricht für Unterbefehl anzeigen und beenden
-d, --debuggen
Debugging aktivieren
-v, - ausführlich
Fortschrittsmeldungen anzeigen
-C FILE, --conf=FILE
Pfad zur Konfigurationsdatei
rm Optionen
-f, --Macht
Wenn die URL nicht existiert, ignorieren Sie den Fehler.
-F FILE, --Datei=FILE
Datei mit einer Liste von zu löschenden URLs
setzen Optionen
-c X, --Stückgröße=X
Legen Sie die Blockgröße für mehrteilige Uploads auf X MB fest. Ein Wert von 0 deaktiviert Multipart
hochlädt. Der Standardwert ist 10 MB, der Mindestwert beträgt 5 MB und der Höchstwert beträgt 1024 MB. Dieser Parameter
gilt nur für Websites, die Multipart-Uploads unterstützen (siehe multipart_uploads
Konfigurationsparameter im CONFIGURATION Sektion). Die maximale Anzahl von Chunks beträgt
10,000, wenn Sie also eine große Datei hochladen, beträgt die Chunk-Größe automatisch
erhöht, um den Upload zu ermöglichen. Wählen Sie kleinere Werte, um die Auswirkungen von zu reduzieren
vorübergehende Ausfälle.
-p N, --parallel=N
Verwenden Sie N Threads zum Hochladen FILE parallel zu. Der Standardwert ist 4, was aktiviert
parallele Uploads mit 4 Threads. Dieser Parameter ist nur gültig, wenn die Site . unterstützt
mehrteilige Uploads und die --Stückgröße Parameter ist nicht 0. Ansonsten parallele Uploads
Sind deaktiviert.
-b, --create-bucket
Ziel-Bucket erstellen, falls noch nicht vorhanden
bekommen Optionen
-c X, --Stückgröße=X
Legen Sie die Blockgröße für parallele Downloads auf X Megabyte fest. Ein Wert von 0 wird vermeiden
chunked liest. Diese Option gilt nur für Websites, die Download-Bereiche unterstützen (siehe
Konfigurationsparameter ranged_downloads). Die Standard-Chunk-Größe beträgt 10 MB, die Mindestgröße beträgt
1 MB und das Maximum beträgt 1024 MB. Wählen Sie kleinere Werte, um die Auswirkungen von Transienten zu reduzieren
Misserfolge
-p N, --parallel=N
Verwenden Sie N Threads, um FILE parallel hochzuladen. Der Standardwert ist 4, was aktiviert
parallele Downloads mit 4 Threads. Dieser Parameter ist nur gültig, wenn die Site . unterstützt
Reichweiten-Downloads und die --Stückgröße Parameter ist nicht 0. Sonst parallele Downloads
Sind deaktiviert.
rump Optionen
-a, --alle
Alle Uploads für den angegebenen Bucket abbrechen
cp Optionen
-c, --create-dest
Erstellen Sie den Ziel-Bucket, wenn er nicht vorhanden ist.
-r, - rekursiv
Wenn SRC ein Bucket ist, kopieren Sie alle Schlüssel in diesem Bucket nach DEST. In diesem Fall DEST
muss ein Eimer sein.
-f, --Macht
Wenn DEST vorhanden ist, überschreiben Sie es.
UNTERBEFEHLE
pegasus-s3 hat mehrere Unterbefehle für verschiedene Speicherdienstvorgänge.
Hilfe
Der Unterbefehl help listet alle verfügbaren Unterbefehle auf.
ls
Die ls Unterbefehl listet den Inhalt einer URL auf. Wenn die URL keinen Bucket enthält,
dann werden alle Buckets des Benutzers aufgelistet. Wenn die URL einen Bucket enthält, aber
kein Schlüssel, dann werden alle Schlüssel im Bucket aufgelistet. Wenn die URL einen Bucket und a . enthält
key, dann werden alle Schlüssel im Bucket aufgelistet, die mit dem angegebenen Schlüssel beginnen.
mkdir
Die mkdir Unterbefehl erstellt einen oder mehrere Buckets.
rmdir
Die rmdir Unterbefehl löscht einen oder mehrere Buckets aus dem Speicherdienst. Um zu
Wenn Sie einen Bucket löschen, muss der Bucket leer sein.
rm
Die rm Unterbefehl löscht einen oder mehrere Schlüssel aus dem Speicherdienst.
setzen
Die setzen Unterbefehl speichert die von FILE angegebene Datei im Speicherdienst unter dem
Bucket und Schlüssel durch URL angegeben. Wenn die URL einen Bucket, aber keinen Schlüssel enthält, wird die
Als Schlüssel wird der Dateiname verwendet.
Wenn ein vorübergehender Fehler auftritt, wird der Upload zuvor mehrmals wiederholt
pegasus-s3 gibt auf und scheitert.
Die setzen Unterbefehl kann sowohl abschnittsweise als auch parallele Uploads durchführen, wenn der Dienst dies unterstützt
mehrteilige Uploads (siehe mehrteilige_uploads in England, CONFIGURATION Sektion). Aktuell nur
Amazon S3 unterstützt mehrteilige Uploads.
Dieser Unterbefehl überprüft die Größe der Datei, um sicherzustellen, dass sie gespeichert werden kann
versuchen, es zu speichern.
Aufgeteilte Uploads sind nützlich, um die Wahrscheinlichkeit zu verringern, dass ein Upload fehlschlägt. Wenn ein
Upload wird aufgeteilt, dann pegasus-s3 gibt separate PUT-Anforderungen für jeden Teil der
Datei. Angeben kleinerer Blöcke (mit --Stückgröße) verringert die Wahrscheinlichkeit eines
Upload aufgrund eines vorübergehenden Fehlers fehlgeschlagen. Chunk-Größen können von 5 MB bis 1 GB reichen (Chunk
Größen von weniger als 5 MB führten zu unvollständigen Uploads auf Amazon S3). Die maximale Anzahl
der Chunks für eine einzelne Datei beträgt 10,000, wenn also eine große Datei mit a . hochgeladen wird
kleine Stückgröße, dann wird die Stückgröße erhöht, um in die 10,000 Stück zu passen
Grenze. Standardmäßig wird die Datei in 10 MB-Blöcke aufgeteilt, wenn der Speicherdienst
unterstützt mehrteilige Uploads. Aufgeteilte Uploads können durch Angabe einer Chunk-Größe deaktiviert werden
von 0. Wenn der Upload abschnittsweise erfolgt, wird jeder Abschnitt unabhängig unter . wiederholt
vorübergehende Ausfälle. Wenn ein Chunk dauerhaft fehlschlägt, wird der Upload abgebrochen.
Parallele Uploads können die Leistung für Dienste steigern, die mehrteilige Uploads unterstützen.
Bei einem parallelen Upload wird die Datei in N Chunks aufgeteilt und jeder Chunk wird hochgeladen
gleichzeitig von einem der M-Threads in der Reihenfolge "Wer zuerst kommt, mahlt zuerst". Wenn die stückgröße
auf 0 gesetzt ist, werden parallele Uploads deaktiviert. Wenn M > N, dann ist die tatsächliche Anzahl von
verwendete Threads werden auf N reduziert. Die Anzahl der Threads kann mit angegeben werden
--paralleles Argument. Wenn --parallel 1 ist, wird nur ein einzelner Thread verwendet. Die
Der Standardwert ist 4. Es gibt keine maximale Anzahl von Threads, aber es ist wahrscheinlich, dass die
Link wird von 4 bis 8 Threads gesättigt.
Wenn ein mehrteiliger Upload fehlschlägt, können unter bestimmten Umständen Daten zurückbleiben
auf dem Server. Wenn ein Fehler auftritt, setzen Unterbefehl wird versuchen, den abzubrechen
Hochladen. Kann der Upload nicht abgebrochen werden, kann ein Teil-Upload auf dem
Server. Um nach Teil-Uploads zu suchen, führen Sie die lsup Unterbefehl. Wenn Sie einen Upload sehen
das in der Ausgabe von fehlgeschlagen ist lsup, dann führe die rump Unterbefehl, um es zu entfernen.
bekommen
Die bekommen Unterbefehl ruft ein Objekt aus dem durch URL identifizierten Speicherdienst ab und
speichert es in der durch FILE angegebenen Datei. Wenn FILE nicht angegeben ist, ist der Schlüssel
als Dateiname verwendet (Hinweis: Wenn der Schlüssel Schrägstriche enthält, lautet der Dateiname a
relatives Unterverzeichnis, aber pegasus-s3 wird das Unterverzeichnis nicht erstellen, wenn dies nicht der Fall ist
existieren).
Wenn ein vorübergehender Fehler auftritt, wird der Download zuvor mehrmals wiederholt
pegasus-s3 gibt auf und scheitert.
Die bekommen Der Unterbefehl kann sowohl stückweise als auch parallele Downloads durchführen, wenn der Dienst dies unterstützt
Reichweiten-Downloads (siehe ranged_downloads in England, CONFIGURATION Sektion). Aktuell nur
Amazon S3 bietet eine gute Unterstützung für Ferndownloads. Eukalyptus Walross unterstützt Fernkampf
Downloads, aber die aktuelle Version 1.6 stimmt nicht mit der Amazon-Benutzeroberfläche überein und
hat einen Fehler, der dazu führt, dass Downloads mit Reichweite in einigen Fällen hängen bleiben. Es wird empfohlen, dass
Ferndownloads dürfen nicht mit Eucalyptus verwendet werden, bis diese Probleme behoben sind.
Aufgeteilte Downloads können verwendet werden, um die Wahrscheinlichkeit zu verringern, dass ein Download fehlschlägt. Wenn ein
Download ist aufgeteilt, pegasus-s3 gibt separate GET-Anforderungen für jeden Teil der
Datei. Angeben kleinerer Blöcke (mit --Stückgröße) verringert die Wahrscheinlichkeit, dass a
Download wird einen vorübergehenden Fehler nicht ausführen. Chunk-Größen können von 1 MB bis 1 GB reichen.
Standardmäßig wird ein Download in 10 MB große Blöcke aufgeteilt, wenn die Site Reichweiten unterstützt
herunterlädt. Aufgeteilte Downloads können durch Angabe von a . deaktiviert werden --Stückgröße von 0. Wenn a
Download wird in Blöcke aufgeteilt, dann wird jeder Block unabhängig unter Transient erneut versucht
Misserfolge. Wenn ein Chunk dauerhaft fehlschlägt, wird der Download abgebrochen.
Parallele Downloads können die Leistung für Dienste steigern, die Reichweiten unterstützen
herunterlädt. Bei einem parallelen Download wird die abzurufende Datei in N Blöcke aufgeteilt und
jeder Chunk wird gleichzeitig von einem von M Threads in einem first-come heruntergeladen,
First-Served-Mode. Wenn die Chunksize 0 ist, werden parallele Downloads deaktiviert. Wenn
M > N, dann wird die tatsächliche Anzahl der verwendeten Threads auf N reduziert. Die Anzahl der
Threads können mit dem Argument --parallel angegeben werden. Wenn --parallel 1 ist, dann nur
ein einzelner Thread wird verwendet. Der Standardwert ist 4. Es gibt keine maximale Anzahl von
Threads, aber es ist wahrscheinlich, dass der Link von 4 bis 8 Threads gesättigt wird.
lsup
Die lsup Unterbefehl listet aktive mehrteilige Uploads auf. Die angegebene URL sollte auf verweisen
ein Eimer. Dieser Befehl ist nur gültig, wenn die Site mehrteilige Uploads unterstützt. Die
Die Ausgabe dieses Befehls ist eine Liste von Schlüsseln und Upload-IDs.
Dieser Unterbefehl wird verwendet mit rump um die Wiederherstellung nach Fehlern bei mehrteiligen Uploads zu unterstützen.
rump
Die rump Unterbefehl bricht und aktives Hochladen ab. Die angegebene URL sollte auf a zeigen
Bucket, und UPLOAD ist die lange, komplizierte Upload-ID, die von der . angezeigt wird lsup Unterbefehl.
Dieser Unterbefehl wird verwendet mit lsup um sich von Fehlern bei mehrteiligen Uploads zu erholen.
cp
Die cp Unterbefehl kopiert Schlüssel auf dem Server. Schlüssel können nicht zwischen Konten kopiert werden.
URL FORMAT
Alle URLs für in S3 gespeicherte Objekte sollten im folgenden Format angegeben werden:
s3[s]://USER@SITE[/BUCKET[/KEY]]
Der Protokollteil kann sein s3: // or s3s://. Wenn s3s:// verwendet wird, dann pegasus-s3 Willenskraft
die Verbindung, um SSL zu verwenden und die Einstellung in der Konfigurationsdatei zu überschreiben. Wenn s3:// ist
verwendet, dann wird bestimmt, ob die Verbindung SSL verwendet oder nicht durch den Wert des
Endpunkt Variable in der Konfiguration für die Site.
Die BENUTZER@SEITE Teil ist erforderlich, aber die EIMER und SCHLÜSSEL Teile können optional sein, abhängig von
der Kontext.
Die BENUTZER@SEITE Teil wird als „Identität“ bezeichnet, und der WEBSITE Teil wird verwiesen
als "Site" zu verwenden. Sowohl die Identität als auch die Site werden in der Konfigurationsdatei nachgeschlagen
(sehen CONFIGURATION) um die Parameter für den Verbindungsaufbau zu bestimmen zu
der Service. Der Site-Teil wird verwendet, um den Host und den Port zu finden, ob SSL verwendet werden soll, und
andere Dinge. Der Identitätsteil wird verwendet, um zu bestimmen, welche Authentifizierungstoken
verwenden. Dieses Format wurde entwickelt, um Benutzern die einfache Nutzung mehrerer Dienste mit mehreren
Authentifizierungstoken. Beachten Sie, dass weder die USER noch das WEBSITE Teil der URL haben irgendwelche
Bedeutung außerhalb von pegasus-s3. Sie beziehen sich nicht auf echte Benutzernamen oder Hostnamen, sondern sind
eher Handles, die zum Nachschlagen von Konfigurationswerten in der Konfigurationsdatei verwendet werden.
Der BUCKET-Teil der URL ist der Teil zwischen dem 3. und 4. Schrägstrich. Eimer sind
Teil eines globalen Namensraums, der mit anderen Benutzern des Speicherdienstes geteilt wird. Wie
Daher sollten sie einzigartig sein.
Der KEY-Teil der URL ist alles nach dem vierten Schrägstrich. Schlüssel können Schrägstriche enthalten, aber
S3-ähnliche Speicherdienste haben nicht das Konzept eines Verzeichnisses wie normale Dateisysteme.
Stattdessen werden Schlüssel wie undurchsichtige Bezeichner für einzelne Objekte behandelt. Also zum Beispiel
die Tasten a / b und a / c haben ein gemeinsames Präfix, können aber nicht dasselbe sein Verzeichnis.
Einige Beispiel-URLs sind:
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
Jeder Benutzer sollte eine Konfigurationsdatei angeben, die pegasus-s3 werde nachschlagen
Verbindungsparameter und Authentifizierungstoken.
Suche Path
Dieser Client sucht an den folgenden Orten, um die des Benutzers zu finden
Konfigurationsdatei:
1. Das Argument -C/--conf
2. Die S3CFG-Umgebungsvariable
3. $HOME/.pegasus/s3cfg
4. $HOME/.s3cfg
Wenn es die Konfigurationsdatei an einem dieser Orte nicht findet, schlägt es mit einem fehl
Error. Der Speicherort $HOME/.s3cfg wird nur aus Gründen der Abwärtskompatibilität unterstützt.
Stattdessen sollte $HOME/.pegasus/s3cfg verwendet werden.
Konfiguration Reichen Sie das Format
Die Konfigurationsdatei liegt im INI-Format vor und enthält zwei Arten von Einträgen.
Der erste Eintragstyp ist ein Site-Eintrag, der die Konfiguration für einen Speicher festlegt
Service. Dieser Eintrag gibt den Dienstendpunkt an, der pegasus-s3 sollte sich mit für verbinden
die Site und einige optionale Funktionen, die die Site möglicherweise unterstützt. Hier ist ein Beispiel für a
Site-Eintrag für Amazon S3:
[Amazonas]
Endpunkt = http://s3.amazonaws.com/
Der andere Eintragstyp ist ein Identitätseintrag, der die Authentifizierung festlegt
Informationen für einen Benutzer auf einer bestimmten Site. Hier ist ein Beispiel für einen Identitätseintrag:
[pegasus@amazon]
access_key = 90c4143642cb097c88fe2ec66ce4ad4e
secret_key = a0e3840e5baee6abb08be68e81674dca
Es ist wichtig zu beachten, dass die verwendeten Benutzernamen und Site-Namen nur logisch sind – sie sind es nicht
entsprechen tatsächlichen Hostnamen oder Benutzernamen, werden aber nur als bequeme Möglichkeit verwendet, um
beziehen sich auf die vom Kunden verwendeten Dienste und Identitäten.
Die Konfigurationsdatei sollte mit eingeschränkten Berechtigungen gespeichert werden. Nur der Besitzer des
Datei sollte in der Lage sein, darin zu lesen und darauf zu schreiben (dh sie sollte Berechtigungen von . haben
0600 oder 0400). Wenn die Datei großzügigere Berechtigungen hat, dann pegasus-s3 wird mit einem scheitern
Fehlermeldung. Damit soll verhindert werden, dass die im
Konfigurationsdatei vor dem Zugriff durch andere Benutzer.
Konfiguration Variablen
Endpunkt (Seite? ˅)
Die URL des Webdienst-Endpunkts. Wenn die URL mit beginnt https, dann ist SSL
benutzt.
max_object_size (Seite? ˅)
Die maximale Größe eines Objekts in GB (Standard: 5 GB)
mehrteilige_uploads (Seite? ˅)
Unterstützt der Dienst mehrteilige Uploads (True/False, Standard: False)
ranged_downloads (Seite? ˅)
Unterstützt der Dienst Downloads mit Reichweite? (Wahr/Falsch, Standard: Falsch)
Zugangsschlüssel (Identität)
Der Zugangsschlüssel für die Identität
geheimer Schlüssel (Identität)
Der geheime Schlüssel für die Identität
Beispiel Konfiguration
Dies ist eine Beispielkonfiguration, die zwei Sites (amazon und magellan) und . angibt
drei Identitäten (pegasus@amazon,juve@magellan und voeckler@magellan). Für die Amazone
Site beträgt die maximale Objektgröße 5 TB, und die Site unterstützt sowohl mehrteilige Uploads als auch
bereichsgesteuerte Downloads, sodass sowohl Uploads als auch Downloads parallel durchgeführt werden können.
[Amazonas]
Endpunkt = https://s3.amazonaws.com/
max_object_size = 5120
multipart_uploads = Wahr
ranged_downloads = Wahr
[pegasus@amazon]
access_key = 90c4143642cb097c88fe2ec66ce4ad4e
secret_key = a0e3840e5baee6abb08be68e81674dca
[Magellan]
# NERSC Magellan ist eine Eukalyptus-Site. Es unterstützt keine mehrteiligen Uploads,
# oder rangierte Downloads (die Standardeinstellungen) und die maximale Objektgröße beträgt 5 GB
# (auch die Standardeinstellung)
Endpunkt = https://128.55.69.235:8773/services/Walrus
[juve@magellan]
access_key = quwefahsdpfwlkewqjsdoijldsdf
Secret_key = asdfa9wejalsdjfljasldjfasdfa
[voeckler@magellan]
# Jede Site kann mehrere verknüpfte Identitäten haben
access_key = asdkfaweasdfbaeiwhkjfbaqwhei
Secret_key = asdhfuinakwjelfuhalsdflahsdl
BEISPIEL
Alle Buckets auflisten, die einer Identität gehören Benutzer@amazon:
$ pegasus-s3 ls s3://user@amazon
Listen Sie den Inhalt des Eimers auf Bar für Identität Benutzer@amazon:
$ pegasus-s3 ls s3://user@amazon/bar
Alle Objekte im Bucket auflisten Bar das fängt mit an HELLO:
$ pegasus-s3 ls s3://user@amazon/bar/hello
Erstellen Sie einen Bucket namens meinbucket für Identität Benutzer@amazon:
$ pegasus-s3 mkdir s3://user@amazon/mybucket
Löschen Sie einen Bucket namens meinbucket:
$ pegasus-s3 rmdir s3://user@amazon/mybucket
Laden Sie eine Datei hoch foo in den Eimer Bar:
$ pegasus-s3 putfoo s3://user@amazon/bar/foo
Laden Sie ein Objekt herunter foo im Eimer Bar:
$ pegasus-s3 erhalten s3://user@amazon/bar/foo foo
Laden Sie eine Datei parallel mit 4 Threads und 100-MB-Chunks hoch:
$ pegasus-s3 put --parallel 4 --chunksize 100 foo s3://user@amazon/bar/foo
Laden Sie ein Objekt parallel mit 4 Threads und 100-MB-Chunks herunter:
$ pegasus-s3 get --parallel 4 --chunksize 100 s3://user@amazon/bar/foo foo
Alle Teil-Uploads für Bucket auflisten Bar:
$ pegasus-s3 lsup s3://user@amazon/bar
Entfernen Sie alle teilweisen Uploads für Bucket Bar:
$ pegasus-s3 rmup --all s3://user@amazon/bar
RÜCKKEHR Mehrwert
pegasus-s3 gibt einen Null-Exist-Status zurück, wenn die Operation erfolgreich ist. Ein Ausgang ungleich null
Status wird im Fehlerfall zurückgegeben.
Verwenden Sie pegasus-s3 online mit den onworks.net-Diensten