Skip to content

Instantly share code, notes, and snippets.

@juno
Created April 23, 2013 12:56
Show Gist options
  • Save juno/5443337 to your computer and use it in GitHub Desktop.
Save juno/5443337 to your computer and use it in GitHub Desktop.
Example for updating metadata of S3 objects with fog.
require 'fog'
access_key_id = ENV['AWS_ACCESS_KEY_ID']
secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
region = ENV['S3_REGION'] # eg: 'us-east-1'
bucket_name = 'mybucket'
target_object = 'object_filename' # key for S3 object in bucket
metadata_key = 'Content-Type' # Metadata key to set
metadata_value = 'text/html' # Metadata value to set
storage = Fog::Storage.new(
provider: 'AWS',
aws_access_key_id: access_key_id,
aws_secret_access_key: secret_access_key,
region: region
)
bucket = storage.directories.get(bucket_name)
file = bucket.files.find { |i| i.key == target_key }
file.reload
file.metadata = { metadata_key => metadata_value }
file.save
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment