Установите на 0 количество компонентов составных объектов gsutil (ошибка rateLimitExceeded)

При копировании некоторых файлов журнала (созданных с помощью команды gsutil compose):

gsutil -m cp -R gs://mybucket/PROD/ gs://mybucket/TEST/ 

мы сталкиваемся с множеством ошибок, подобных этой:

"errors":[  
    {  
        "domain":"usageLimits",
        "reason":"rateLimitExceeded",
        "message":"The total number of compose requests for this bucket's project exceeds the rate limit. Please reduce the rate of compose requests."
    }
],
"code":429,

Выполняя gsutil stat по этим объектам, я вижу, что их Component-Count равен 972 и тому подобное.

Мы попытались пойти коротким путем:

gsutil setmeta -h "Component-Count:0" gs://mybucket/PROD/composite.log

но мы попали в:

CommandException: Invalid or disallowed header (component-count).
Only these fields (plus x-goog-meta-* fields) can be set or unset:

На самом деле, процесс копирования полностью выполнен, так что видеть все эти ошибки довольно неприятно.

Кто-нибудь знает, как установить количество компонентов на 0?


person Mar Cial R    schedule 30.09.2014    source источник


Ответы (2)


Вы можете смело игнорировать эти ошибки. Как вы заметили, команда gsutil cp завершает свою работу.

Если вы хотите избавиться от этих ошибок, вы можете попробовать этот обходной путь, чтобы установить значение 0 для Component-Count заголовка составного объекта и, по сути, "отменить компоновку" объектов. Для этого вы можете сбросить его на провод и обратно в облачное хранилище.

Простой способ сделать это — использовать "гирляндную цепочку" (опция -D) из команды cp:

gsutil cp -D gs://mybucket/PROD/composite.log gs://mybucket/PROD/notcompositeanymore.log

Он отлично работает даже с параметрами gsutil -m (многопоточный) и cp -R (рекурсивный)!

Если вас беспокоит увеличение скорости и снижение затрат на этот процесс, я бы посоветовал вам сделать это из виртуальной машины Compute Engine, предпочтительно в зоне, близкой к вашей корзине.

Удачного кодирования!

person Mar Cial R    schedule 30.09.2014

В этом больше нет необходимости. GCS больше не применяет ограничение скорости операций копирования с участием составных объектов.

person Mike Scarlett    schedule 12.08.2018