从AWS S3读取CSV文件时获取“ Errno :: ENOENT:没有这样的文件或目录@ rb_sysopen”

我是一个简单的用户

我有部署到Heroku的应用程序。我添加了通过CSV上传用户的功能。为此,我提供了CSV上传功能(二手回形针gem)。

这是我的代码,用于读取文件并创建新用户

def import(file)
  CSV.foreach(file.path, headers: true) do |row|
      row_hash = row.to_hash.values
      data = row_hash[0].split("\t")
      .
      .
      .
end

在本地,它工作正常。但是在heroku上它给了我以下错误

Errno::ENOENT: No such file or directory @ rb_sysopen - https://s3.amazonaws.com/..../..../sample_csv(2).csv

在amazon-s3中引用了以下链接Errno :: ENOENT(没有这样的文件或目录)

从亚马逊服务器读取文件,在轨道上红宝石,没有匹配路线

但没有成功。为了进行更多调试,我从本地Rails控制台尝试了相同的URL,这给了我相同的错误。

2.2.2 :008 > cp = "https://s3.amazonaws.com/..../..../sample_csv(2).csv"
2.2.2 :008 > f = File.open(cp, "r")
Errno::ENOENT: No such file or directory @ rb_sysopen - https://s3.amazonaws.com

还尝试了打开uri http://ruby-doc.org/stdlib-2.1.0/libdoc/open-uri/rdoc/OpenURI.html

我可以从浏览器下载相同的文件。

任何人都可以让我知道如何解决此错误。是否存在存储桶权限问题(我已经为存储桶提供了开放访问权限)。

shrikant1712

尝试这个

require 'open-uri'
require 'csv'

def import(file)
  CSV.new(open(file), :headers => :true).each do |row|  #First open the file using open
      row_hash = row.to_hash.values
      data = row_hash[0].split("\t")
      .
      .
      .
end

有关更多信息,您可以参考此链接

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法使用 Ruby Errno::ENOENT 打开文件:没有这样的文件或目录 @rb_sysopen

如何修复“Errno::ENOENT:没有这样的文件或目录@rb_sysopen”?

厨师模板没有这样的文件或目录@ rb_sysopen Errno::ENOENT

Errno::ENOENT 没有那个文件或目录@rb_sysopen

Grunt 文件未构建 CSS 文件 (SASS):Errno::ENOENT:没有这样的文件或目录 @rb_sysopen - 未定义

Errno :: ENOENT(无此类文件或目录@ rb_sysopen

如何解决:“ Errno :: ENOENT-没有这样的文件或目录@ rb_sysopen-”?

没有这样的文件或目录@rb_sysopen ruby

Errno :: ENOENT:功能测试后,没有这样的文件或目录@ rb_file_s_mtime

解析远程 csv 文件:没有这样的文件或目录@rb_sysopen

`initialize': 使用 Nokogiri 打开站点时没有这样的文件或目录@rb_sysopen

正在获取Errno :: ENOENT:没有此类文件或目录@ rb_sysopen尝试在Roo gem中打开远程文件url(Ruby on rails)

gem push错误-(Gem :: Package :: FormatError)-没有这样的文件或目录@ rb_sysopen

AWS:FileNotFoundError:[Errno 2]没有这样的文件或目录

使用rails提取tar文件:Errno :: ENAMETOOLONG:文件名过长@ rb_sysopen

Errno :: ENOENT没有这样的文件或目录Rails 4

Sass:errno :: enoent:没有这样的文件或目录

使用带有 react-rails gem 的组件时,没有这样的文件或目录@rb_sysopen

Docker Rails 应用程序上没有这样的文件或目录@rb_sysopen sidekiq.pid

Rspec:没有这样的文件或目录@ rb_sysopen-

没有这样的文件或目录@ rb_sysopen-

无效的Podfile文件:rb_sysopen中没有这样的文件或目录-flutter_module / .ios / Flutter / podhelper.rb

AWS Lambda子进程OSError:[Errno 2]没有这样的文件或目录

AWS CLI:Windows CLI-SSLError:[Errno 2]没有这样的文件或目录

Ruby&Treetop-此类文件或目录@ rb_sysopen

Rails Errno :: ENOENT:保存上载时没有这样的文件或目录

Rails CSV导入-文件名过长@ rb_sysopen

无法检测到 rake 任务 - Errno::ENOENT: 没有这样的文件或目录 - R

Errno :: ENOENT:没有这样的文件或目录config / settings.yml(heroku部署)