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