2011-11-21 11 views

Respuesta

10

Lo más fácil es utilizar IRB o PRY para obtener una copia local del archivo, o escribir un script simple para descargarlo, editarlo y luego volverlo a cargar. Supongamos que tiene un archivo llamado data.txt.

Puede utilizar la siguiente secuencia de comandos para inicializar una conexión a 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") 

Luego use el objeto de directorio para obtener una copia de su archivo en su sistema de archivos local.

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

Edite el archivo usando su editor favorito y luego súbalo nuevamente a S3.

file = directory.files.get('data.txt') 
file.body = File.open("/path/to/my/data.txt") 
file.save 
+0

Imagino que hay una manera de cambiar las propiedades de un archivo sin volverlo a cargar, ¿no? En cualquier caso, lo que proporcionaste me proporciona el entorno de niebla que necesito para experimentar (que no es muy fácil de encontrar en sus documentos). ¡Gracias! –

+0

Creo que puede establecer información de encabezado sin volver a cargar un archivo. Puede encontrar más información en la [documentación] (http://fog.io/1.1.1/storage/) o navegando por el [código fuente] (http://github.com/fog/fog). –

Cuestiones relacionadas