1

我正在開發一個Rails API。我使用paperclip gem將圖像存儲在Amazon S3中。我只是使用我自己的存取密鑰存儲桶,而沒有任何添加的策略。附件在S3中正確上傳並存儲,但當銷燬記錄時,附件不會被刪除。我也試過單獨刪除附件,這給了以下錯誤:Rails回形針S3附件沒有刪除(壞請求)

[AWS S3 400 0.382023 0 retries] head_object(:bucket_name=>"my-bucket-name",:key=>"the/url/to/the/image.jpg") AWS::S3::Errors::BadRequest AWS::S3::Errors::BadRequest 

在我的模型:

has_attached_file :main_image 
validates_attachment :main_image, presence: true, 
        content_type: { content_type: %w(image/jpeg image/png)}, 
        size: { in: 0 .. 1.megabytes } 

在我的配置:

# Paperclip config 
config.paperclip_defaults = { 
    storage: :s3, 
    s3_credentials: { 
     bucket: ENV.fetch('AWS_S3_BUCKET'), 
     access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'), 
     secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'), 
     s3_region: ENV.fetch('AWS_S3_REGION'), 
    } 
} 

的應用程序是在Heroku上運行。這是一個權限問題?請注意,我使用的是aws-sdk寶石版本1.66。

回答

0

這是AWS S3的權限問題,因爲您可以上傳但不能刪除。您是否創建了AWS IAM用戶來生成訪問密鑰和密鑰?如果是的話,你可以粘貼你的保單?

+0

我還沒有創建IAM用戶,所以我只是使用root訪問密鑰。 –