我正在尝试在 Google Cloud Storage 和 Amazon S3 之间进行 rsync。在我的本地机器 (MacOS) 上,此命令有效
gsutil rsync -d -r gs://mira-internal/data/exports/20191108 s3://mira-temp/raw/20191108
但是,当我尝试在运行 Kubernetes 的 Ubuntu 机器上运行它时,它会失败并出现以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
每文档这可能是由区域设置配置问题引起的,但当我locale
在 Ubuntu shell 中运行时,编码看起来正确:
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。