-H に続いてホスト名を指定します。IP の場合は、先頭に http を追加する必要があります (例: http://172.21) 。その後に access_key が続きます (例: YT*********)。 ************ -s の後に JlNVoLfLuJJ などの Secret_key を追加します***************************** *
(1) 単一のバケットを削除します。この関数に対応するスクリプトは、thread-delete-bucket.py です。使用する場合は、-b パラメーターの後にバケット名を指定します。
[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) バケットリストを削除します。この関数に対応するスクリプトは、thread-delete-buckets.py です。使用する前に、バケットリストの各行に 1 つのバケット名を設定ファイルに記述する必要があります。関数は thread-delete-buckets.py です。使用する場合は、-f パラメーターに続いて構成ファイルへのパス (構成ファイル名を含む) を指定します。
[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) ユーザーのすべてのバケットを削除する この関数に対応するスクリプトは、ユーザーのすべてのバケットを削除するために必要な 3 つの基本パラメーターのみです。
[wuchen@manager delete]$ python thread-delete-user.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ***********************
スクリプト thread-download.py を使用して、断片化されたマルチスレッドで大きなファイル (8M を超える) をダウンロードする場合は、-t パラメータを 0 に指定するだけで済みます。
(1) 必須パラメータ -H は、IP を記述する場合、前に http を追加する必要はありません (例: YT******) 。 ****************
-s ユーザーの Secret_key (JlNVoLfLuJJ など)******************************
-b オブジェクトがダウンロードされるバケットの名前 (test12 など) -o ダウンロードされるオブジェクトの名前 (python.tar.gz など) 多層フォルダー ディレクトリが含まれる場合は、次のように記述する必要があります。完全なパス -f ダウンロード オブジェクトは、ローカル ファイル パス (例: /home/wuchen/wuchen/download/download-file) に書き込まれます。
(2) オプションのパラメータ -t はスレッド数を指定します。デフォルトは 10 スレッドです。
-c はフラグメント サイズを M 単位で指定します。デフォルトは 8M です。
スクリプト download-folder.py を使用して、バケット内のフォルダーをダウンロードします。この関数は、ディレクトリ内のすべてのサブディレクトリを再帰的にダウンロードします。
パラメータ分析は次のとおりです。 -H ホスト アドレスが IP として記述されている場合、前に http を追加する必要はありません (例: 172.21) 。 -a ユーザーの access_key (例: YT*******)。 ***************
-s ユーザーの Secret_key (JlNVoLfLuJJ など)******************************
-b ダウンロードするディレクトリが配置されているバケットの名前
-f ダウンロード ディレクトリ データはローカル パスの場所に保存されます。 -p ダウンロードされる s3 ディレクトリは、マルチレベル ディレクトリの場合、完全なパスを指定する必要があります。たとえば、バケットの下にディレクトリ test1 があります。 test1 にはディレクトリ test2 があり、test1 をダウンロードする場合は、 - p の後に test1 を追加し、test2 をダウンロードするには、 -p の後に test1/test2 を追加します。
デフォルトパラメータを使用してダウンロードする
[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
15 スレッドを使用してダウンロード、デフォルトでシャーディング
[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
ダウンロードには 20 スレッドを使用し、断片化は 20M になります。
[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
単一の小さなファイルをダウンロードする
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
このコマンドを実行すると、ローカルの result22 ディレクトリに、バケット名 test12 の werfefdsa/dffds がダウンロードされます。
[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
コマンドの実行後、ローカルの result22 ディレクトリに、バケット名 test12 の werfefdsa/ がダウンロードされます。
スクリプト thread-upload.py を使用して、大きなファイル (8M を超える) を複数のスレッドでアップロードします。デフォルトでは、8M のスライスが 10 個のスレッドでアップロードされます。8M より小さいファイルをアップロードする場合は、指定するだけで済みます。 -t パラメータは 0 です。
(1) 必須パラメータ -H は、IP を記述する場合、前に http を追加する必要はありません (例: YT******) 。 ****************
-s ユーザーの Secret_key (JlNVoLfLuJJ など)******************************
-b オブジェクトがアップロードされるバケットの名前 (test12 など) -o アップロードされるオブジェクトのパス。バケットに直接アップロードする場合は、-o パラメーターを記述する必要はありません。バケットの下のフォルダーにアップロードする場合は、フォルダー パスとして -o を指定する必要があります。 -f アップロードするオブジェクトのローカル ファイル パス (/home/wuchen/wuchen/download/download-file など)。
(2) オプションのパラメータ -t はスレッド数を指定します。デフォルトは 10 スレッドです。-c はフラグメント サイズを M で指定します。デフォルトは 8M です。
スクリプト Upload-folder.py を使用して、ローカルに指定されたパスを持つフォルダーをバケットに再帰的にアップロードすることも、バケットの下のディレクトリーにアップロードすることもできます。 -H ホストアドレス IP を記述する場合、先頭に http を追加する必要はありません (例: 172.21 )。 **
-s ユーザーの Secret_key (JlNVoLfLuJJ など)******************************
-b アップロードするディレクトリのバケット名
-l アップロード ディレクトリはローカル パスの場所に保存されます。 -d ローカルで指定されたパスを持つフォルダーをバケットに直接アップロードする場合は、-d root を指定します。バケットの下のディレクトリ パスにアップロードすると、完全なパスが指定されます。たとえば、バケットの下の test1 ディレクトリの下のサブディレクトリ test2 にアップロードする場合は、-d test1/test2 を指定します。
デフォルトパラメータを使用してアップロードする
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
15 スレッドを使用してダウンロードし、デフォルトでシャーディングし、バケットの下の test1 ディレクトリにアップロードします
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
20 スレッドを使用してアップロードし、20M フラグメントでアップロードして、バケットの下の /test1/test2/test3 サブディレクトリにアップロードします。
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
ローカル ディレクトリをバケット test12 に直接アップロードします
[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
ローカル ディレクトリをバケット test12 の下の wefefdsa ディレクトリにアップロードします。
[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
jar パッケージ java-upload-download.jar を使用してアップロードおよびダウンロードします。 コマンド ライン パラメータは次のように指定します。 (1) ファイルまたはディレクトリをアップロードします。 java -jar iflytek_url_tesy-1.0.1.10023.jar 次のパラメータはバケット名です。 + オブジェクト名 (バケットにアップロードされたディレクトリ パスを含む) + スレッド数 + フラグメント サイズ + アップロードされたファイルまたはディレクトリ パス + アップロード文字列 (アップロードかダウンロードかを区別するため)
(2) ファイルをダウンロードします (ダウンロード ディレクトリはまだエラーが発生しやすいです)
java -jar s3-tool-java.jar に続くパラメータは、バケット名 + ダウンロードするファイルの名前 (バケットの下の完全なパスを含む) + スレッド数 + フラグメント サイズ + ファイルまたはディレクトリのパスです。ローカルにダウンロードするには + ダウンロード文字列
使用例
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