问题标签 [fog-aws]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
723 浏览

ruby - AWS S3 Ruby 流下载:在块下载期间重试连接

我想知道是否有人可以帮助我解决我遇到的流式下载问题?

目前,我有一个存储在 s3 存储桶中的大型 GZipped XML 文件,我需要每天使用 ruby​​ 下载、解压缩和解析该文件。由于文件的大小,我选择以块的形式下载大文件并对每个块执行必要的解析,如下所示:

返回 Enumerator 对象允许我稍后在脚本中处理块的每个部分(即解压缩并解析其中包含的 XML)

这一切都需要按计划运行,所以我有一个独立的 Heroku dyno 为我运行 ruby​​ 脚本(我的 Rails 站点也部署到 Heroku)。它在本地运行良好,但在 Heroku 上运行大约一个小时后(有时取决于测功机的大小),脚本失败并显示以下错误消息:

我的问题是,当这在我的流中间失败时,我不确定如何从连接重置的块开始重试下载。

Fog 的流下载文档很少,切换到适用于 Ruby 的 AWS 开发工具包似乎为块提供的信息更少(即没有剩余或总字节参数)。

有任何想法吗?提前致谢!

更新 1

total_bytes - remaining_bytes我最近的尝试涉及在连接重置之前跟踪最后一个块的字节位置(即)。Fog 允许您在get方法的 options 参数中设置自定义标头:

因此,当流被重置时,我会尝试使用 HTTP Range 标头从我在新流中中断的地方开始。

但是,Fog 似乎忽略了这个标头,经过一番挖掘,我发现它不是fog-awsgem 中接受的 HTTP 标头属性:

https://github.com/fog/fog-aws/blob/ab8b720a277712b0d924be74c4db1502692efa44/lib/fog/aws/models/storage/file.rb#L12-L27

接下来,我将尝试使用aws-sdkgem 执行这些相同的步骤,它看起来支持 HTTP Range 标头

0 投票
1 回答
92 浏览

ruby-on-rails - heroku deploy 因fog-aws而失败(说formatador“已删除”)

我有一个使用fog-aws gem 将图像上传到AWS 的网站。当我在本地运行它时一切正常,但它不会部署到heroku。标准 heroku/ruby buildpack,所有内容的最新版本:

ruby 2.5.1,rails 5.2.2,gem 'carrierwave','1.3.1' gem 'fog-aws','3.3.0'

试过:1)当然,删除Gemfile.lock文件并捆绑安装几次2)明确包括formatador,使用旧版本(我认为错误消息不正确,因为formatador 0.2.5确实存在并且我可以安装它在本地和heroku上)3)使用'fog'而不是'fog-aws'(给我类似'unf'的错误,并包含大量不必要的依赖项)

0 投票
1 回答
174 浏览

ruby-on-rails - rspec 如何测试`require`

我有一个模型破坏了我在 Hereku 上的应用程序。我阅读了日志,require 'zip'发现require 'zip'需要

我的模型很简单

感谢所有的帮助

0 投票
1 回答
197 浏览

ruby - Sinatra CarrierWave 雾 - NameError:未初始化的常量雾

我一直在尝试使用 Sinatra 和 Fog 为 S3 文件管理设置 CarrierWave。我经常遇到关于雾未定义的问题。当我将存储更改为 :file 时,这可以正常工作。

到目前为止,我还尝试过这里提到的解决方案NameError: uninitialized constant CarrierWave::Storage::FogNameError: uninitialized constant CarrierWave::Storage::Fog, heroku

但到目前为止我还没有运气。

这是我的整体设置

宝石文件

应用程序.rb

将此添加到我的用户类

最后是我的 ProfileImageUploader

我仍然停留在这个输出

0 投票
0 回答
34 浏览

ruby-on-rails - AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 不起作用

我设置了 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 环境变量并尝试在 AWS S3 私有存储桶上上传图像,但我收到 403 Access Denied Error。