-H, за которым следует имя хоста. Если это IP-адрес, вам необходимо добавить http, например http://172.21 , а затем ключ_доступа, например YT*********. ************ -s, за которым следует Добавить секретный_ключ, например JlNVoLfLuJJ ****************************** *
(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. Перед использованием вам необходимо записать одно имя сегмента для каждой строки списка в файл конфигурации. функция — 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) Удалить все сегменты пользователя. Сценарий, соответствующий этой функции, — thread-delete-user.py. Для удаления всех сегментов пользователя требуется всего три основных параметра.
[wuchen@manager delete]$ python thread-delete-user.py -H http://172.21.*.* -a YT***************** -s JlNVoLfLuJJ***********************
Используйте скрипт thread-download.py для загрузки больших файлов (более 8 МБ) в фрагментированных многопоточных режимах. Если вы хотите загружать небольшие файлы размером менее 8 МБ, вам нужно указать только параметр -t, равный 0.
(1) Обязательный параметр -H — это адрес хоста. Если вы пишете IP, вам не нужно добавлять http перед, например, 172.21 . Ключ_доступа пользователя, например, YT******. ****************
-s секретный_ключ пользователя, например JlNVoLfLuJJ******************************
-b Имя сегмента, в который должен быть загружен объект, например test12 -o Имя загружаемого объекта, например python.tar.gz Если он содержит многоуровневую папку-каталог, вам необходимо написать полный путь -f Объект загрузки записывается в локальный путь к файлу, например /home/wuchen/wuchen/download/download-file
(2) Необязательный параметр -t указывает количество потоков. Значение по умолчанию — 10 потоков.
-c указывает размер фрагмента в М, значение по умолчанию — 8 Мб.
Используйте скрипт download-folder.py для загрузки папки в корзину. Эта функция рекурсивно загрузит все подкаталоги в каталоге.
Анализ параметров следующий: -H Если адрес хоста записан как IP, нет необходимости добавлять http перед, например, 172.21 -a Ключ_доступа пользователя, например, YT******* . ***************
-s секретный_ключ пользователя, например JlNVoLfLuJJ******************************
-b Имя корзины, в которой находится каталог для загрузки.
-f Данные каталога загрузки сохраняются по локальному пути. -p Каталог s3, который необходимо загрузить. Если это многоуровневый каталог, необходимо указать полный путь. Например, в сегменте находится каталог test1. , а у test1 есть каталог test2. Если вы хотите загрузить test1, добавьте test1 после p, чтобы загрузить test2, добавьте test1/test2 после -p.
Загрузка с параметрами по умолчанию
[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 загрузит werfefdsa/dffds с именем сегмента test12.
[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 будет загружен файл werfefdsa/ с именем сегмента test12.
Используйте скрипт thread-upload.py для загрузки больших файлов (более 8 МБ) в несколько потоков. По умолчанию фрагменты размером 8 МБ будут загружены в 10 потоков. Если вы хотите загрузить небольшой файл размером менее 8 МБ, вам нужно только указать. параметр -t равен 0.
(1) Обязательный параметр -H — это адрес хоста. Если вы пишете IP, вам не нужно добавлять http перед, например, 172.21 . Ключ_доступа пользователя, например, YT******. ****************
-s секретный_ключ пользователя, например JlNVoLfLuJJ******************************
-b Имя корзины, в которую должен быть загружен объект, например test12. -o Путь к загружаемому объекту. Если вы загружаете его непосредственно в корзину, вам не нужно писать параметр -o If. вы загружаете его в папку под ведром, вам нужно указать -o в качестве пути к папке -f Путь к локальному файлу объекта, например /home/wuchen/wuchen/download/download-file.
(2) Необязательный параметр -t указывает количество потоков. Значение по умолчанию — 10. Его можно опустить. Параметр -c указывает размер фрагмента в M. Значение по умолчанию — 8M.
Используйте скрипт upload-folder.py для рекурсивной загрузки папки с указанным локальным путем в корзину. Вы можете загрузить ее непосредственно в корзину или загрузить в каталог под корзиной. Анализ параметров выглядит следующим образом: -H Адрес хоста Если вы пишете IP, то нет необходимости добавлять http впереди, например 172.21 -ключ_доступа пользователя, например YT**************** . **
-s секретный_ключ пользователя, например JlNVoLfLuJJ******************************
-b Имя сегмента каталога для загрузки
-l Каталог загрузки сохраняется по локальному пути. -d Рекурсивно загружает папку с указанным локальным путем в папку под сегментом. Если она загружается непосредственно в корзину, укажите -d root. к пути к каталогу ниже сегмента, то указывается полный путь. Например, при загрузке в подкаталог test2 в каталоге test1 в сегменте укажите -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 потоков для загрузки, загрузки фрагментов по 20 миллионов и загрузки в подкаталог /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
Загрузите локальный каталог в каталог werfefdsa в сегменте 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 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