What is the problem you are having with rclone?
We are trying to upload a lot of objects from a minio instance to Backblaze B2, including the metadata. Among all the metadata attributes we are storing with the objects, there is the X-Amz-Meta-Content-Disposition one.
It turns out that when that metadata attribute is set, rclone will set the Content-Disposition header with the value of "X-Amz-Meta-Content-Disposition". This is causing problems for us since we have values like this one:
X-Amz-Meta-Content-Disposition : attachment; filename="3 =?utf-8?q?Interaci=C3=B3n=2Epdf=22?=
which will cause this error from the B2 backend:
2022/09/28 20:33:16 ERROR : ddcce9dc0f5d4ab2a7e0ab2900b01dca: Failed to copy: InvalidRequest: invalid b2-content-disposition: hit end of string while looking for closing quote starting from 21
status code: 400, request id: 5394e15f7ac106ae, host id: aMLNlZWTDY7xkDmJWM9k5SjTpZipmvjhN
I think when using the S3 protocol, setting Content-Disposition on PUT (creating an object) will give the advantage of having that very same "filename=" available automaticall when a GET is requested, but I am not 100% sure of that.
Regardless of the "correctness" of the X-Amz-Meta-Content-Disposition values we may have, we have to go along with what we have stored because we simply cannot change tens of thousands of objects.
Run the command 'rclone version' and share the full output of the command.
rclone v1.59.1
- os/version: centos 7.4.1708 (64 bit)
- os/kernel: 5.11.22-5-pve (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.18.5
- go/linking: static
- go/tags: none
Which cloud storage system are you using? (eg Google Drive)
Source is MinIO. Target is Backblaze B2 (configure with type s3 in rclone's config)
The command you were trying to run (eg rclone copy /tmp remote:tmp
)
$ rclone --config=/etc/rclone.conf -M -v copy myminio:attachments/00/aa/ffc334afecd backblaze:attachments/00/aa/ffc334afecd
The rclone config contents with secrets removed.
[backblaze]
type = s3
provider = Other
env_auth = false
access_key_id = huehuehuehue
secret_access_key = secretpass
endpoint = s3.eu-central-003.backblazeb2.com
sse_customer_algorithm=AES256
sse_customer_key=mylongandsecurekey
#sse_customer_key_md5=
A log from the command with the -vv
flag
Not sure which part of the log I should paste here, can you please specify?