通过 Fog gem 查询 Amazon S3 时收到以下警告:
[WARNING] fog: followed redirect to my-bucket.s3-external-3.amazonaws.com, connecting to the matching region will be more performant
我究竟如何“连接到匹配区域”?
将 Fog 连接参数中的 :region 选项设置为您的存储桶所在区域的名称。
例如,我在区域“eu-west-1”中有一个名为“bucket-a”的存储桶,我的 s3 密钥和秘密分别位于变量 s3_key 和 s3_secret 中。
我可以通过打开我的 Fog 连接直接连接到该区域,如下所示:
s3 = Fog::Storage.new(provider: 'AWS', aws_access_key_id: s3_key, aws_secret_access_key: s3_secret, region: 'eu-west-1')
现在,当我列出内容时,不会发出任何区域警告:
s3.directories.get('bucket-a').files
如果您想对所有存储桶执行此操作,而不是逐个存储桶,您可以设置以下内容:
Fog::Storage::AWS::DEFAULT_REGION = 'eu-west-1'