AWS Cli 与不兼容 DNS 的存储桶同步

AWS Cli sync with non DNS compatible bucket

有什么方法可以使用 AWS 命令​​行将本地文件夹与包含句点“.”的存储桶同步吗?

如果我这样做:

aws s3 sync local_folder/ s3://files.domain.com/backup

我收到此错误:

fatal error: Bucket named files.domain.com is not DNS compatible. Virtual hosted-style addressing cannot be used. The addressing style can be configured by removing the addressing_style value or setting that value to 'path' or 'auto' in the AWS Config file or in the botocore.client.Config object.

我已经尝试删除或更改 AWS 配置中的 addressing_style 值,但没有成功。我不知道如何在 botocore 上更改。

AWS 配置

[default]
output = json
region = us-west-1
s3 =
  max_concurrent_requests = 100
  max_queue_size = 10000
  multipart_threshold = 64MB
  multipart_chunksize = 16MB
  use_accelerate_endpoint = true

看来我找到问题了

use_accelerate_endpoint = true

名称中带有句点 (.) 的存储桶不支持传输加速:Amazon S3 Transfer Acceleration

这意味着 use_accelerate_endpoint 必须删除或设置为 false。否则,它将无法工作并会抛出该错误,让您认为它可以使用正确的设置,而实际上您需要删除该标志。