Amazon S3 + Fog警告:连接到匹配区域将更具性能

clo*_*ach 8 amazon-s3 fog

通过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
Run Code Online (Sandbox Code Playgroud)

我究竟如何"连接到匹配区域"?

Jim*_*dan 11

将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')
Run Code Online (Sandbox Code Playgroud)

现在,当我列出内容时,不会发出区域警告:

s3.directories.get('bucket-a').files
Run Code Online (Sandbox Code Playgroud)

如果要对所有存储桶执行此操作,而不是逐桶,则可以设置以下内容:

Fog::Storage::AWS::DEFAULT_REGION = 'eu-west-1'
Run Code Online (Sandbox Code Playgroud)