Method: Trove::Storage::S3#info

Defined in:
lib/trove/storage/s3.rb

#info(filename, version: nil) ⇒ Object

etag isn’t always MD5, but low likelihood of match if not could alternatively add sha256 to metadata



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/trove/storage/s3.rb', line 54

def info(filename, version: nil)
  options = {bucket: bucket, key: key(filename)}
  options[:version_id] = version if version
  resp = client.head_object(**options)
  {
    version: resp.version_id,
    md5: resp.etag.gsub('"', "")
  }
rescue Aws::S3::Errors::NoSuchKey, Aws::S3::Errors::NotFound
  nil
end