Я пытаюсь сбросить content_type для всех mp3 в ковше, используя копию (как указано в Set content_type of Fog storage files on s3).Установить Content_Type с Fog на S3 без перезаписывания других метаданных
Однако это перезаписывает любые существующие значения для элемента, в частности значения хранилища_класса и владельца. Эти значения одинаковы для всех файлов в ведре, поэтому я попытался установить их как параметры. Однако, когда я запрашиваю владельца файла после завершения копирования, я получаю нуль.
connection.directories.get('my_bucket').files.each do |f|
content_type = case f.key.split(".").last
when "mp3"
"audio/mpeg"
when "ogg"
"audio/ogg"
end
options = {
'Content-Type' => content_type,
'Owner' => '{:display_name=>"myadmin", :id=>"myadminid"}',
'Storage-Class' => 'STANDARD',
'x-amz-metadata-directive' => 'REPLACE'
}
puts directory.files.get(f.key) if f.copy(f.directory.key, f.key, options)
end
Спасибо, это действительно помогает. Я думал, что владелец тоже был создан автоматически, поэтому я не уверен, почему я вижу нуль, во всяком случае, это не влияет на функциональность моих файлов. –
Да, нуль владелец вполне может быть ошибкой. Но звучит так, будто в настоящее время не стоит беспокоиться о слишком большом количестве, если он не блокирует вас. – geemus