Как я могу использовать туман для редактирования файла на s3? - PullRequest
5 голосов
/ 21 ноября 2011

У меня есть куча файлов на s3.У меня настроен туман с помощью файла конфигурации .fog, поэтому я могу запустить fog и получить подсказку.Теперь, как мне получить доступ и отредактировать файл на s3, если я знаю его путь?

1 Ответ

11 голосов
/ 21 ноября 2011

Самое простое, что можно сделать - это, вероятно, использовать 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
...