5

私はs3にたくさんのファイルを持っています。起動してプロンプトを表示できるように、.fog 構成ファイルを使用してフォグをセットアップしましたfog。パスがわかっている場合、s3 上のファイルにアクセスして編集するにはどうすればよいですか?

4

1 に答える 1

11

最も簡単な方法は、おそらく IRB または PRY を使用してファイルのローカル コピーを取得するか、簡単なスクリプトを記述してダウンロード、編集、および再アップロードすることです。data.txt という名前のファイルがあるとします。

次のスクリプトを使用して、S3 への接続を初期化できます。

require 'fog'

connection = Fog::Storage.new({
  :provider                 => 'AWS',
  :aws_secret_access_key    => YOUR_SECRET_ACCESS_KEY,
  :aws_access_key_id        => YOUR_SECRET_ACCESS_KEY_ID
})

directory = connection.directories.get("all-my-data")

次に、ディレクトリ オブジェクトを使用して、ローカル ファイル システム上のファイルのコピーを取得します。

local_file = File.open("/path/to/my/data.txt", "w")
file = directory.files.get('data.txt')
local_file.write(file.body)
local_file.close

お気に入りのエディターを使用してファイルを編集し、S3 に再度アップロードします。

file = directory.files.get('data.txt')
file.body = File.open("/path/to/my/data.txt")
file.save
于 2011-11-21T16:39:23.227 に答える