-H, gefolgt vom Hostnamen, müssen Sie http voranstellen, zum Beispiel http://172.21 , gefolgt von access_key, zum Beispiel YT**********. ************ -s gefolgt von Secret_key hinzufügen, z. B. JlNVoLfLuJJ********************************* *
(1) Löschen Sie einen einzelnen Bucket. Das dieser Funktion entsprechende Skript ist thread-delete-bucket.py. Geben Sie bei der Verwendung den Parameter -b gefolgt vom Bucket-Namen an.
[wuchen@manager delete]$ python thread-delete-bucket.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test7
['test1', 'test2', 'test7']
[{'Key': u'osd.84.log'}] 1
(2) Löschen Sie die Bucket-Liste. Das entsprechende Skript lautet thread-delete-buckets.py. Vor der Verwendung müssen Sie einen Bucket-Namen für jede Zeile der Bucket-Liste schreiben Die Funktion ist thread-delete-buckets. Geben Sie bei Verwendung den Parameter -f gefolgt vom Pfad zur Konfigurationsdatei (einschließlich des Namens der Konfigurationsdatei) an.
[wuchen@manager delete]$ cat bucket.txt
test10
test3
test4
test5
test6
test7
test8
test9
[wuchen@manager delete]$ python thread-delete-buckets.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -f /home/wuchen/wuchen/delete/bucket.txt
deleting test10
[{'Key': u'osd.84.log'}] 1
deleting test3
[{'Key': u'osd.84.log'}] 1
deleting test4
[{'Key': u'osd.84.log'}] 1
deleting test5
[{'Key': u'osd.84.log'}] 1
deleting test6
[{'Key': u'osd.84.log'}] 1
deleting test7
[{'Key': u'osd.84.log'}] 1
deleting test8
[{'Key': u'osd.84.log'}] 1
deleting test9
[{'Key': u'osd.84.log'}] 1
(3) Alle Buckets eines Benutzers löschen. Das zu dieser Funktion gehörende Skript ist thread-delete-user.py. Zum Löschen aller Buckets des Benutzers sind nur drei grundlegende Parameter erforderlich.
[wuchen@manager delete]$ python thread-delete-user.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ***********************
Verwenden Sie das Skript thread-download.py, um große Dateien (größer als 8 MB) in fragmentierten Multithreads herunterzuladen. Wenn Sie kleine Dateien mit weniger als 8 MB herunterladen möchten, müssen Sie nur den Parameter -t als 0 angeben.
(1) Der erforderliche Parameter -H ist die Hostadresse, Sie müssen beispielsweise nicht http hinzufügen, beispielsweise 172.21 User's access_key . ****************
-s Secret_Key des Benutzers, z. B. JlNVoLfLuJJ******************************
-b Der Name des Buckets, in den das Objekt heruntergeladen werden soll, z. B. test12 -o Der Name des herunterzuladenden Objekts, z. B. python.tar.gz Wenn es ein mehrschichtiges Ordnerverzeichnis enthält, müssen Sie schreiben der vollständige Pfad -f Das Download-Objekt wird in den lokalen Dateipfad geschrieben, zum Beispiel /home/wuchen/wuchen/download/download-file
(2) Der optionale Parameter -t gibt die Anzahl der Threads an. Der Standardwert ist 10 Threads.
-c gibt die Fragmentgröße in M an, der Standardwert ist 8M
Verwenden Sie das Skript download-folder.py, um einen Ordner im Bucket herunterzuladen. Diese Funktion lädt alle Unterverzeichnisse im Verzeichnis rekursiv herunter.
Die Parameteranalyse lautet wie folgt: -H Wenn die Hostadresse als IP geschrieben wird, ist es nicht erforderlich, http voranzustellen, z. B. 172.21, z. B. YT******* . ***************
-s Secret_Key des Benutzers, z. B. JlNVoLfLuJJ******************************
-b Der Name des Buckets, in dem sich das herunterzuladende Verzeichnis befindet
-f Die Download-Verzeichnisdaten werden im lokalen Pfad gespeichert. -p Das herunterzuladende s3-Verzeichnis. Wenn es sich um ein mehrstufiges Verzeichnis handelt, muss der vollständige Pfad angegeben werden. Unter dem Bucket befindet sich beispielsweise ein Verzeichnis test1 und test1 hat ein Verzeichnis test2, dann - fügen Sie test1 nach p hinzu, um test2 herunterzuladen, fügen Sie test1/test2 nach -p hinzu
Mit Standardparametern herunterladen
[wuchen@manager download]$ python thread-download.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -o python.tar.gz -f /home/wuchen/wuchen/download/download-file
Download mit 15 Threads, standardmäßig Sharding
[wuchen@manager download]$ python thread-download.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -o python.tar.gz -f /home/wuchen/wuchen/download/download-file -t 20
Verwenden Sie zum Herunterladen 20 Threads und die Fragmentierung beträgt 20 MB
[wuchen@manager download]$ python thread-download.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -o python.tar.gz -f /home/wuchen/wuchen/download/download-file -t 20 -c 20
Laden Sie eine einzelne kleine Datei herunter
wuchen@manager download]$ python thread-download.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -o python.tar.gz -f /home/wuchen/wuchen/download/download-file -t 0
[wuchen@manager download]$ python download-folder.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -f /home/wuchen/wuchen/s3-tool/download/result22 -p werfefdsa/dffds -b test12
Nachdem dieser Befehl ausgeführt wurde, lädt das lokale Verzeichnis result22 werfefdsa/dffds im Bucket-Namen test12 herunter.
[wuchen@manager download]$ python download-folder.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -f /home/wuchen/wuchen/s3-tool/download/result22 -p werfefdsa -b test12
Nachdem der Befehl ausgeführt wurde, lädt das lokale Verzeichnis result22 werfefdsa/ im Bucket-Namen test12 herunter.
Verwenden Sie das Skript thread-upload.py, um große Dateien (größer als 8 MB) in mehreren Threads hochzuladen. Standardmäßig werden 8 MB-Slices in 10 Threads hochgeladen. Wenn Sie eine kleine Datei kleiner als 8 MB hochladen möchten, müssen Sie nur angeben den Parameter -t als 0.
(1) Der erforderliche Parameter -H ist die Hostadresse, Sie müssen beispielsweise nicht http hinzufügen, beispielsweise 172.21 User's access_key . ****************
-s Secret_Key des Benutzers, z. B. JlNVoLfLuJJ******************************
-b Der Name des Buckets, in den das Objekt hochgeladen werden soll, z. B. test12 -o Der Pfad des hochzuladenden Objekts. Wenn Sie es direkt in den Bucket hochladen, müssen Sie den Parameter -o nicht schreiben Wenn Sie es in einen Ordner unter dem Bucket hochladen, müssen Sie -o als Ordnerpfad angeben. -f Der lokale Dateipfad des Objekts, z. B. /home/wuchen/wuchen/download/download-file
(2) Der optionale Parameter -t gibt die Anzahl der Threads an. Er kann weggelassen werden. -c gibt die Fragmentgröße an.
Verwenden Sie das Skript upload-folder.py, um einen Ordner mit einem lokal angegebenen Pfad in den Bucket hochzuladen. Sie können ihn direkt in den Bucket hochladen oder in ein Verzeichnis unter dem Bucket hochladen. Die Parameteranalyse erfolgt wie folgt: -H Host-Adresse Wenn Sie IP schreiben, ist es nicht erforderlich, http voranzustellen, zum Beispiel 172.21 -a-Benutzerzugriffsschlüssel, zum Beispiel YT*************** . **
-s Secret_Key des Benutzers, z. B. JlNVoLfLuJJ******************************
-b Der Bucket-Name des hochzuladenden Verzeichnisses
-l Das Upload-Verzeichnis wird im lokalen Pfadspeicherort gespeichert. -d Lädt den Ordner rekursiv in den Pfadspeicherort unterhalb des Buckets hoch. Wenn er hochgeladen wird, geben Sie an zu einem Verzeichnispfad unterhalb des Buckets, dann wird der vollständige Pfad angegeben. Wenn Sie beispielsweise in das Unterverzeichnis test2 im Verzeichnis test1 unter dem Bucket hochladen, geben Sie -d test1/test2 an
Hochladen mit Standardparametern
python thread-upload.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -f /home/wuchen/wuchen/upload/iflyek_url_tesy-1.0.1.100247.jar
Verwenden Sie zum Herunterladen 15 Threads, standardmäßig Sharding und Hochladen in das Verzeichnis test1 unter dem Bucket
python thread-upload.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test1 -o test1 -f /home/wuchen/wuchen/upload/iflyek_url_tesy-1.0.1.100247.jar -t 15
Verwenden Sie zum Hochladen 20 Threads, laden Sie es in 20 Millionen Fragmenten hoch und laden Sie es in das Unterverzeichnis /test1/test2/test3 unter dem Bucket hoch
python thread-upload.py -H 172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -o /test1/test2/test3 -f /home/wuchen/wuchen/upload/iflyek_url_tesy-1.0.1.100247.jar -t 20 -c 20
Laden Sie das lokale Verzeichnis direkt in den Bucket test12 hoch
[wuchen@manager upload]$ python upload-folder.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -l /home/wuchen/wuchen/s3-tool/upload/download -d root
Laden Sie das lokale Verzeichnis in das werfefdsa-Verzeichnis unter Bucket test12 hoch
[wuchen@manager upload]$ python upload-folder.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ*********************** -b test12 -l /home/wuchen/wuchen/s3-tool/upload/download -d werfefdsa
Verwenden Sie zum Hochladen und Herunterladen das JAR-Paket java-upload-download.jar. Die Befehlszeilenparameter werden wie folgt angegeben: (1) Laden Sie Dateien oder Verzeichnisse hoch: java -jar iflytek_url_tesy-1.0.1.10023.jar. Die folgenden Parameter sind der Bucket-Name + Objektname (einschließlich Verzeichnispfad, der in den Bucket hochgeladen wurde) + Anzahl der Threads + Fragmentgröße + hochgeladene Datei oder Verzeichnispfad + Upload-Zeichenfolge (um zu unterscheiden, ob hochgeladen oder heruntergeladen wird)
(2) Dateien herunterladen (das Download-Verzeichnis ist immer noch fehleranfällig)
Die Parameter nach java -jar s3-tool-java.jar sind der Bucket-Name + der Name der herunterzuladenden Datei (einschließlich des vollständigen Pfads unter dem Bucket) + die Anzahl der Threads + die Fragmentgröße + der Datei- oder Verzeichnispfad zum Herunterladen auf die lokale + Download-Zeichenfolge
Anwendungsbeispiele
1.上传文件夹,将文件夹 /lustre2/dlp/esxu/lustre-soft/上传到bucket下面
[root@jobsub-9-073 wuchen]# java -jar s3-tool-java.jar test-bucket test5 6 5242880 /lustre2/dlp/esxu/lustre-soft/ upload
Uploading etc
[########################################]: Completed
thread upload run time: 34s
2.上传文件 将文件/lustre2/dlp/esxu/test1.tar 上传到bucket test-bucket 下面,名称为test1.tar
[root@jobsub-9-073 wuchen]# java -Xmx10m -jar s3-tool-java.jar test-bucket test1.tar 10 5242880 /lustre2/dlp/esxu/test1.tar upload
Uploading etc
[########################################]: Completed
thread upload run time: 17s
3.下载文件 下载bucket下面的test1.tar 到本地重命名为 /lustre2/dlp/esxu/test2.tar
[root@jobsub-9-073 wuchen]# java -Xmx10m -jar s3-tool-java.jar test-bucket test1.tar 10 5242880 /lustre2/dlp/esxu/test2.tar download
Downloading etc
[########################################]: Completed
thread upload run time: 17s