I'm trying to sync two buckets, one in Google Store and the second one in S3, for that I'm using gsutil. My boto config is as follows:
[Credentials]
gs_access_key_id = XXXX
gs_secret_access_key = XXX
aws_access_key_id = XXX
aws_secret_access_key = XXX
[s3]
host = s3.eu-central-1.amazonaws.com
use-sigv4 = True
My problem is that with this config even a sync from Google Store to a local folder doesn't work!
gsutil -m rsync -r gs://some-bucket ./localfolder/
It fails with the following error:
BadRequestException: 400 ExcessHeaderValues
<?xml version='1.0' encoding='UTF-8'?>
<Error>
<Code>ExcessHeaderValues</Code>
<Message>Multiple HTTP header values where one was expected.</Message>
<Details>Requests cannot specify both x-amz and x-goog headers</Details>
</Error>
When I remove the S3 part in the boto config, the sync from Google Store to a local folder works, but the sync to the S3 bucket fails with the error:
BadRequestException: 400 InvalidRequest
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>InvalidRequest</Code>
<Message>The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.</Message>
<RequestId>XXX</RequestId>
<HostId>XXX</HostId>
</Error>
Any help please? I searched a lot for a similar issue but didn't find anything.