Облачная платформаAdvanced

Перемещение объекта

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Функция

Вы можете использовать эту команду для перемещения отдельного объекта или перемещения объектов пакетно, указав префикс имени объекта.

Notice
  • Не изменяйте исходные объекты в OBS Бакете при перемещении объектов. В противном случае операция может завершиться с ошибкой или данные могут стать несогласованными.
  • Исходные объекты удаляются после успешного завершения операции перемещения.
  • Если задача перемещения объекта (mv) вручную отменена или неожиданно прервана, obsutil не может автоматически возобновить или продолжить задачу. В таких случаях задача перемещения может не выполниться полностью (например, исходный объект скопирован, но не удалён), что может привести к одновременному существованию исходного и целевого объектов.

Структура командной строки

  • Windows
    • Перемещение отдельного объекта
      obsutil mv obs://srcbucket/key obs://dstbucket/[dest] [-dryRun] [-u] [-p=1] [-threshold=52428800] [-versionId=xxx] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-cpd=xxx] [-fr] [-o=xxx] [-config=xxx]
    • Пакетное перемещение объектов
      obsutil mv obs://srcbucket[/key] obs://dstbucket[/dest] -r [-dryRun] [-f] [-flat] [-u] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx]
  • macOS or Linux
    • Перемещение отдельного объекта
      ./obsutil mv obs://srcbucket/key obs://dstbucket/[dest] [-dryRun] [-u] [-p=1] [-threshold=52428800] [-versionId=xxx] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-cpd=xxx] [-fr] [-o=xxx] [-config=xxx]
    • Пакетное перемещение объектов
      ./obsutil mv obs://srcbucket[/key] obs://dstbucket[/dest] -r [-dryRun] [-f] [-flat] [-u] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx]
Note
  • Пути источника и назначения не могут быть одинаковыми.
  • Пути источника и назначения не могут быть вложенными при пакетных перемещениях.
  • Пакетные перемещения объектов не поддерживаются для параллельных файловых систем.

Примеры

  • В Windows выполните obsutil mv obs://bucket-test/key obs://bucket-test2, чтобы переместить один объект.
    obsutil mv obs://bucket-test/key obs://bucket-test2
    Start at 2024-09-30 08:36:01.3934921 +0000 UTC
    Parallel: 5 Jobs: 5
    Threshold: 50.00MB PartSize: auto
    CheckpointDir: xxxx
    [=====================================================] 100.00% 6/s 0s
    Waiting for the copied key to be completed on server side.
    Move successfully, 19B, obs://bucket-test/key --> obs://bucket-test2/key, cost [1815], status [200], request id [00000192421282AC401423183A8B83A1]
  • В Windows выполните obsutil mv obs://bucket-test/temp/ obs://bucket-test2 -f -r, чтобы переместить объекты пакетно.
    obsutil mv obs://bucket-test/temp/ obs://bucket-test2 -f -r
    Start at 2024-09-30 08:37:32.2454905 +0000 UTC
    Parallel: 5 Jobs: 5
    Threshold: 50.00MB PartSize: auto
    CheckpointDir: xxxx
    Task id: 0476929d-9d23-4dc5-b2f8-0a0493f027c5
    OutputDir: xxxx
    [=============================================================] 100.00% 10/s 0s
    Succeed count: 5 Failed count: 0
    Metrics [max cost:298 ms, min cost:192 ms, average cost:238.00 ms, average tps:9.71, transferred size: 7.20MB]
    Task id: 0476929d-9d23-4dc5-b2f8-0a0493f027c5

Описание параметра

Параметр

Необязательно или обязательно

Описание

srcbucket

Обязательно

Имя исходного бакета

dstbucket

Обязательно

Имя целевого бакета

dest

Необязательно

Имя целевого объекта при перемещении одного объекта или префикс имени целевых объектов при перемещении объектов пакетно

key

Обязательно при перемещении одного объекта

Необязательно при перемещении объектов пакетно

Имя исходного объекта при перемещении одного объекта или префикс имени исходных объектов при перемещении объектов пакетно

Правила следующие:

  • Этот параметр нельзя оставлять пустым при перемещении одного объекта. Если dest оставлен пустым, исходный объект перемещается в корневой каталог целевого bucket. Если значение dest заканчивается слэшем (/), имя целевого объекта равно значению dest плюс имя исходного объекта. В противном случае имя целевого объекта равно значению dest.
  • Если этот параметр оставлен пустым при пакетном перемещении объектов, перемещаются все объекты в исходном bucket. Если параметр задан, перемещаются объекты, префикс имени которых соответствует установленному значению в исходном bucket. Правила подтверждения имени целевого объекта следующие:
    • Если значение dest заканчивается слэшем (/), имя целевого объекта равно значению dest плюс имя исходного объекта.
    • Если значение dest не заканчивается слэшем (/), имя целевого объекта равно значениеdest/source object name.
ПРИМЕЧАНИЕ:
  • Если этот параметр настроен, но параметр flat не указан при пакетном перемещении объектов, имя исходного объекта содержит префикс имени родительского объекта. Если flat настроен, то имя исходного объекта не содержит префикс имени родительского объекта.
  • Подробности о том, как использовать этот параметр, см. Command Line Structure.

fr

Необязательно при перемещении объекта (дополнительный параметр)

Создаёт файл результата операции при перемещении объекта.

flat

Необязательно при пакетном перемещении объектов (дополнительный параметр)

Префикс имени родительского объекта исключается при пакетном перемещении объектов.

dryRun

Необязательно (дополнительный параметр)

Выполняет dry run.

u

Необязательно (дополнительный параметр)

Указывает инкрементальное перемещение. Если этот параметр установлен, каждый объект может быть перемещён только тогда, когда он отсутствует в целевом Бакете, его размер отличается от одноимённого в целевом Бакете, либо у него более позднее время модификации.

ПРИМЕЧАНИЕ:

Если размер и время модификации целевого объекта совпадают с размером и временем модификации исходного объекта, исходный объект будет удалён напрямую вместо перемещения.

p

Необязательно (дополнительный параметр)

Максимальное количество одновременно выполняемых задач multipart‑move при перемещении объекта. Значение по умолчанию берётся из defaultParallels в файле конфигурации.

threshold

Необязательно (дополнительный параметр)

Порог включения multipart‑move, в байтах. Значение по умолчанию берётся из defaultBigfileThreshold в файле конфигурации.

ПРИМЕЧАНИЕ:
  • Если размер перемещаемого объекта меньше порога, объект перемещается напрямую. В противном случае требуется multipart‑move.
  • При прямом перемещении объекта запись части не создаётся, и поддержка возобновляемой передачи недоступна.
  • Значение параметра может содержать единицу измерения, например, 1MB (обозначает 1 048 576 байт).

versionId

Необязательно при перемещении объекта (дополнительный параметр)

Идентификатор версии исходного объекта, который можно указать при перемещении отдельного объекта

acl

Необязательно (дополнительный параметр)

Политики управления доступом для целевых объектов, которые можно указать при перемещении объектов. Возможные значения:

  • private
  • public-read
  • public-read-write
  • bucket-owner-full-control
ПРИМЕЧАНИЕ:

Предыдущие четыре значения обозначают private read and write, public read, public read and write и bucket owner full control.

sc

Необязательно (дополнительный параметр)

Классы хранилища целевых объектов, которые можно указать при перемещении объектов. Возможные значения:

  • standard: Класс хранилища standard. Он характеризуется низкой задержкой доступа и высокой пропускной способностью, подходит для хранения часто запрашиваемых данных (многократный доступ в месяц) или данных размером менее 1 МБ.
  • warm: Класс хранилища warm. Идеален для хранения редко запрашиваемых (менее 12 раз в год) данных, но при необходимости доступ к ним должен быть быстрым.
  • cold: Класс хранилища cold. Обеспечивает безопасное, долговечное и недорогое хранение редко запрашиваемых (один раз в год) данных.

meta

Необязательно (дополнительный параметр)

Метаданные целевых объектов, которые можно указать при перемещении объектов. Формат: key1:value1#key2:value2#key3:value3.

ПРИМЕЧАНИЕ:

Пример формата выше указывает, что целевые объекты содержат три группы пользовательских метаданных: key1:value1, key2:value2, и key3:value3.

ps

Необязательно (дополнительный параметр)

Размер каждой части в задаче multipart move, в байтах. Значения находятся в диапазоне от 100KB до 5GB. Значение по умолчанию — значение defaultPartSize в файле конфигурации.

ПРИМЕЧАНИЕ:
  • Значение этого параметра может содержать единицу измерения, например, 1MB (означает 1 048 576 байт).
  • Параметр можно установить в значение auto. В этом случае obsutil автоматически задаёт размер части для каждой задачи multipart, исходя из размера исходного объекта.

cpd

Необязательно (дополнительный параметр)

Папка, в которой находятся записи частей. Значение по умолчанию — .obsutil_checkpoint, подпапка в домашнем каталоге пользователя, выполняющего команды obsutil.

ПРИМЕЧАНИЕ:

Запись части создаётся во время multipart move и сохраняется в подпапку copy. После успешного перемещения запись части удаляется автоматически. Если перемещение завершилось с ошибкой или приостановлено, система пытается возобновить задачу согласно её записи части при следующем выполнении перемещения.

r

Обязательно для перемещения объектов пакетно (дополнительный параметр)

Перемещает объекты пакетно на основе указанного префикса имени объектов в исходном бакете.

f

Необязательно для перемещения объектов пакетами (дополнительный параметр)

Выполняет операции без запроса подтверждения.

j

Необязательно для перемещения объектов пакетами (дополнительный параметр)

Максимальное количество одновременно выполняемых задач для перемещения объектов пакетами. Значение по умолчанию — значение defaultJobs в файле конфигурации.

ПРИМЕЧАНИЕ:

Инструмент гарантирует, что это значение не менее 1.

exclude

Необязательно для перемещения объектов пакетами (дополнительный параметр)

Шаблоны соответствия исходных объектов, которые исключаются, например: *.txt

ПРИМЕЧАНИЕ:
  • Символ звёздочка (*) обозначает любую группу символов, а вопросительный знак (?) — любой отдельный символ. Например, abc*.txt указывает любой файл, имя которого начинается с abc и заканчивается на .txt.
  • Можно использовать \* для представления * и \? для представления ?.
  • Если имя перемещаемого объекта соответствует значению этого параметра, объект будет пропущен.
ПРИМЕЧАНИЕ:
  • Рекомендуется использовать кавычки для шаблона сопоставления, чтобы специальные символы не экранировались ОС и не приводили к неожиданным результатам. Используйте одинарные кавычки в Linux или macOS и двойные кавычки в Windows.
  • Шаблон сопоставления применяется к абсолютному пути объекта, который включает префикс имени объекта и имя объекта, начиная с корневого каталога. Например, если путь объекта в bucket выглядит obs://bucket/src1/src2/test.txt, его абсолютный путь — src1/src2/test.txt.
  • Этот шаблон сопоставления применяется только к объектам, имена которых не заканчиваются символом слеша (/).
  • Можно указать несколько параметров exclude, например, -exclude=*.xxx -exclude=*.xxx.

include

Необязательно при перемещении объектов пакетами (дополнительный параметр).

Шаблоны сопоставления включаемых исходных объектов, например: *.jpg.

ПРИМЕЧАНИЕ:
  • Символ звёздочка (*) обозначает любую группу символов, а знак вопроса (?) — любой отдельный символ.
  • Можно использовать \* для представления * и \? для представления ?.
  • Правило exclude применяется первым. Если имя перемещаемого объекта не соответствует правилу exclude, система затем проверяет, соответствует ли имя объекта этому параметру. Если соответствует, объект перемещается. Если не соответствует, объект пропускается.
ПРИМЕЧАНИЕ:
  • Рекомендуется использовать кавычки для шаблона сопоставления, чтобы специальные символы не экранировались ОС и не приводили к неожиданным результатам. Используйте одинарные кавычки в Linux или macOS и двойные кавычки в Windows.
  • Шаблон сопоставления применяется к абсолютному пути объекта, который включает префикс имени объекта и имя объекта, начиная с корневого каталога. Например, если путь объекта в bucket выглядит obs://bucket/src1/src2/test.txt, его абсолютный путь — src1/src2/test.txt.
  • Этот шаблон соответствия применяется только к объектам, имена которых не заканчиваются символом слеш (/).
  • Можно указать несколько include параметров, например, -include=*.xxx -include=*.xxx.

timeRange

Необязательно для перемещения объектов пакетами (дополнительный параметр)

Шаблон соответствия диапазону времени при перемещении объектов. Перемещаются только объекты, у которых время последнего изменения находится в заданном диапазоне времени.

Этот шаблон имеет более низкий приоритет, чем шаблоны соответствия объектов (exclude/include). То есть шаблон соответствия диапазону времени выполняется после настроенных шаблонов соответствия объектов.

ПРИМЕЧАНИЕ:
  • Диапазон времени соответствия задаётся в виде time1-time2, где time1 должно быть ранее или совпадать с time2. Формат времени: yyyyMMddHHmmss.
  • Поддерживается автоматическое форматирование. Например, yyyyMMdd эквивалентно yyyyMMdd000000, а yyyyMM эквивалентно yyyyMM01000000.
  • Если этот параметр установлен в *-time2, будут соответствовать все файлы, время последнего изменения которых ранее time2. Если он установлен в time1-*, будут соответствовать все файлы, время последнего изменения которых позже time1.
УВЕДОМЛЕНИЕ:
  • Время в шаблоне соответствия указано в формате UTC.
  • Этот шаблон соответствия применяется только к объектам, имена которых не заканчиваются символом слеш (/).

mf

Необязательно (дополнительный параметр)

Указывает, что шаблон сопоставления имени (include или exclude) и шаблон сопоставления времени (timeRange) также применяются к объектам, имена которых заканчиваются символом слеша (/).

o

Необязательно (дополнительный параметр)

Папка, в которой хранятся файлы результатов. После выполнения команды файлы результатов (возможно файлы успеха, неудачи и предупреждения) будут созданы в указанной папке. Значение по умолчанию — .obsutil_output, подпапка в домашнем каталоге пользователя, где выполняются команды obsutil.

ПРИМЕЧАНИЕ:
  • Файл результата должен иметь следующее имя: mv_{succeed | failed | warning}_report_Time_TaskId.txt.
  • По умолчанию максимальный размер одного файла результата составляет 30 МБ, и может быть сохранено до 1 024 файлов результатов. Вы можете изменить эти ограничения, настроив recordMaxLogSize и recordBackups в файле конфигурации.
  • Если существует несколько папок и файлов и необходимо уточнить детали неудачной задачи, обратитесь к файлу результата неудачи cp_failed_report_Time_TaskId.txt в папке результатов и к log files в пути журналов.

bucket-cname

Необязательно (дополнительный параметр)

Пользовательское доменное имя, привязанное к bucket

ПРИМЕЧАНИЕ:

Этот параметр поддерживается только в obsutil версии 5.7.9 и более поздних.

config

Необязательно (дополнительный параметр)

Пользовательский файл конфигурации для выполнения текущей команды. Для получения подробной информации о настраиваемых параметрах см. Configuration Parameters.

Ответ

Обратитесь к Response для загрузки объекта.