Это моя скрепка конфигурация внутри config/environments/production.rb
AWS :: S3 :: Ошибки :: InvalidAccessKeyId + Скрепка + Rails
# Paperclip
config.paperclip_defaults = {
storage: :s3,
s3_credentials: { bucket: Rails.application.secrets.aws_bucket,
access_key_id: Rails.application.secrets.aws_access_key_id,
secret_access_key: Rails.application.secrets.aws_secret_access_key },
s3_host_name: Rails.application.secrets.aws_host_name,
url: ':s3_domain_url' }
end
Он отлично работает, когда я нахожусь на localhost
с учетными данными АМСА.
переключается на мой сервер в производстве, используйте тот же конфиг и те же учетные данные, и я получаю:
[AWS S3 403 0.188842 1 retries] put_object(:acl=>:public_read,:bucket_name=>"<bucket-name>",:content_length=>87882,:content_type=>"image/jpeg",:data=>Paperclip::UploadedFileAdapter: profile_picture_square.jpg,:key=>"assets/users/1/original.jpg") AWS::S3::Errors::InvalidAccessKeyId The AWS Access Key Id you provided does not exist in our records.
Где <bucket-name>
на самом деле имя моего ведра.
Почему это происходит?
Вы можете добавить свой файл development.rb? –
@NelsonPatricioJimenez can'd добавил его здесь, потому что он слишком длинный. Но это рельсы по умолчанию плюс конфигурация электронной почты и эта конфигурация paperclip выше. – jbernardo
Убедитесь, что ключ доступа находится в разделе секреты secret.yml. Также распечатайте ключ доступа в журналах прямо перед загрузкой изображения. Или просто распечатайте его на странице где-нибудь. Я уверен, что ключ отличается (или, может быть, даже не установлен). – Jeiwan