Ruby on rails 如何通过Heroku从S3 Bucket本地提取资产
我能找到的唯一工具是分叉并尝试更新以包括S3_区域,因为我得到了Ruby on rails 如何通过Heroku从S3 Bucket本地提取资产,ruby-on-rails,ruby,heroku,amazon-web-services,amazon-s3,Ruby On Rails,Ruby,Heroku,Amazon Web Services,Amazon S3,我能找到的唯一工具是分叉并尝试更新以包括S3_区域,因为我得到了 $您试图访问的存储桶必须使用指定的端点进行寻址 这些都是我用来访问bucket的变量 opts[:s3_key] =======> AKIAJHXXG*********YA opts[:s3_secret] =======> uYXxuA*******************pCcXuT61DI7po2 opts[:s3_bucket] =======> ***** opts[:output_path] ===
$您试图访问的存储桶必须使用指定的端点进行寻址
这些都是我用来访问bucket的变量
opts[:s3_key] =======> AKIAJHXXG*********YA
opts[:s3_secret] =======> uYXxuA*******************pCcXuT61DI7po2
opts[:s3_bucket] =======> *****
opts[:output_path] =======> /Users/myname/Desktop/projects/my_project/public/system
opts[:s3_region] =======> s3-us-west-2.amazonaws.com
已经有一段时间没有更新了,所以我假设我无法在Heroku工具或旧的aws-s3 gem中找到实际错误的位置
有没有人有办法从AmazonS3中将生产资产拉到Heroku服务器?我想我误解了你的意思,所以现在编辑……也许可以尝试一些更简单的方法:
我的搜索返回了以下信息: Bucket位于不同的区域 COPY命令中指定的amazons3存储桶必须位于同一个存储桶中 区域作为集群。如果您的AmazonS3存储桶和集群 在不同的地区,您将收到类似于的错误 以下: 您可以通过以下方式在特定区域创建AmazonS3 bucket 使用AmazonS3创建bucket时选择区域 管理控制台,或在创建 使用AmazonS3API或CLI的bucket。有关详细信息,请参阅 上传文件到AmazonS3 有关AmazonS3区域的更多信息,请参见bucket和regions 在《Amazon简单存储服务开发人员指南》中 或者,您可以使用带有的“区域”选项指定区域 复制命令
因此,事实证明,gem几乎毫无用处。我进一步实现了将所有s3资产下载到public/system的目标,但仍然不知道如何使用aws s3文档将它们下载到正确的本地rails目录中 我可能只需要阅读更多的unix命令,然后逐个地对它们进行scp或其他操作。有什么想法吗?s3区域可能只需要区域部分,而不是整个主机名,例如“s3-us-west-2”(末尾没有.amazonaws.com)。我猜,在这里。
ERROR: S3ServiceException:The bucket you are attempting to access must be addressed using the specified endpoint.
s3 = AWS::S3.new(access_key_id: 'AKIAJH*********PFYA', secret_access_key: 'uYXxuAMcnKODn***************uT61DI7po2', s3_endpoint: 's3-us-west-2.amazonaws.com')
s3.buckets['advlo'].objects.each do |obj|
puts obj.inspect
end