Я пытаюсь выполнить синхронизацию между облачным хранилищем Google и Amazon s3. На моем локальном компьютере (MacOS) эта команда работает
gsutil rsync -d -r gs://mira-internal/data/exports/20191108 s3://mira-temp/raw/20191108
Однако когда я пытаюсь запустить его на машине Ubuntu, работающей на Kubernetes, происходит сбой со следующей ошибкой:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
За документация это могло быть вызвано проблемой конфигурации локали, но когда я запускаю locale
в оболочке Ubuntu кодировка выглядит правильно:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
Не уверен, в чем проблема.
ОБНОВЛЕНИЕ: в качестве обходного решения я могу без проблем использовать gsutil для rsync на локальный диск, а затем использовать aws cli для записи на s3.