2014-09-22 85 views
0

因此,我有一个创建csv的ruby脚本,然后将创建的csv通过另一个ruby脚本上传到Amazon S3。通过ruby脚本将CSV文件上传为Amazon S3

运行create_csv.rb脚本后,我得到一个有效的csv并输出所需csv的内容。

然后,我运行名为upload_csv_to_s3.rb另一个Ruby脚本,它看起来是这样的:

$file = 'file.csv' 
AWS.config(access_key_id: $AWS_ACCESS_KEY, secret_access_key: $SECRET_ACCESS_KEY, region: 'us-west-2') 
bucket_name = $BUCKET 
file_name = $file 
# Get an instance of the S3 interface. 
s3 = AWS::S3.new 
# Upload a file. 
key = File.basename(file_name) 
s3.buckets[bucket_name].objects[key].write(:file => file_name) 
puts "Uploading file #{file_name} to bucket #{bucket_name}." 

当运行此脚本时,我得到一个警告记录到我的控制台:

upload_csv_to_s3.rb:26: warning: Insecure world writable dir /Users/jcorser in PATH, mode 040777 

这是因为我的权限设置为危险地打开,这可能是问题的一部分,但我希望不是? (请不要给我关于我机器安全性的建议,我承认这是一个可怕的想法,我不会提及它,除非我认为这可能是我在这个问题中询问的具体失败的原因)

文件file.csv似乎上传到S3,但是,该文件的内容是完全空白的,并且不包含本地计算机上file.csv包含的csv信息。

任何想法?

+0

奇怪的是,如果我不使用文件名“file.csv”,它会正常工作。将名称更改为file1.csv已成功。 – johncorser 2014-09-22 17:58:06

回答

0

奇怪的是,它工作正常,如果我不使用文件名file.csv。将名称更改为file1.csv成功