복사를 사용하여 버킷의 모든 mp3에 대해 content_type을 재설정하려고합니다 (Set content_type of Fog storage files on s3에 설명 된대로).다른 메타 데이터를 덮어 쓰지 않고 S3에 안개가있는 Content_Type을 설정하십시오.
그러나 항목의 기존 값, 특히 storage_class 및 owner 값을 덮어 씁니다. 이 값은 버킷의 모든 파일에 대해 동일하므로 옵션으로 설정하려고했습니다. 그러나 복사가 완료된 후 파일의 소유자를 쿼리 할 때 나는 아무 것도 얻지 못합니다.
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