2014-09-22 118 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成功