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信息。
任何想法?
奇怪的是,如果我不使用文件名“file.csv”,它会正常工作。将名称更改为file1.csv已成功。 – johncorser 2014-09-22 17:58:06