2016-03-22 25 views
0

Amazon S3'e, iyi çalışan carrierwave ile yüklerim. Bu hata varraylar AWS S3 dosyayı sil

AWS::S3::S3Object.delete(@vid.video, 'bucket') 

:

Ama Şimdi ben bu çalıştı Silme fonksiyonunu eklemek istediğiniz

uninitialized constant MoviesController::AWS 

nedeni açıktır .. Ama nasıl AWS sabit set yapmak doğru ve nerede?

config/ilklendiriciler/carrierwave.rb

CarrierWave.configure do |config| 
config.fog_credentials = { 
    :provider => 'AWS', 
    :aws_access_key_id => '----', 
    :aws_secret_access_key => '----', 
    :region => 'eu-central-1', 
} 
config.fog_use_ssl_for_aws = false 
config.fog_directory = 'bucekt' 
config.storage = :fog 
end 
+0

Eğer 'Gemfile' için' AWS SDK gem' eklediniz:

Ardından, her yerde uygulamanızda veya denetleyici eylem, böyle S3 API arayabilirim? –

+0

evet bunu yaptım – Felix

+0

Emin değilim, aynı zamanda kodunuzda 'AWS' gemini de yapılandırmanız gerekiyor. Benim bağırsak duygularım, otomatik bir yük değil, ama yapmalı. –

cevap

1

Önce AWS mücevher yapılandırmanız gerekir. Bu kodu config/initializers/aws.rb dosyasına ekleyin.

Aws.config.update({ 
    region: '<default-region>', 
    credentials: Aws::Credentials.new('<access-key-id>', '<secret-access-key') 
}) 

Ayrıca çevre değişkenleri AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY ayarlamayı ve sunucu üzerinde AWS_REGION ve SDK bunları otomatik olarak bulacaktır olabilir.

def some_action 
    # You can simply call Aws::S3::Client.new 
    # if you are already configuring using the 
    # above methods or configure by passing 
    # parameters explicitly 
    s3_client = Aws::S3::Client.new(
    credentials: Aws::Credentials.new('<aws_access_key_id>', '<aws_secret_key>'), 
    region: '<aws_region>' 
) 

    # delete object by passing bucket and object key 
    s3_response = s3_client.delete_object({ 
    bucket: '<bucket-name>', # required 
    key: '<object-key>', # required 
    }) 
end 
+0

. aws.rb'de ... Neden s3_client üzerinde Kimlik Bilgilerini yeniden ayarlamalıyım? – Felix

+0

Lütfen kod yorumlarını okuyun :) –

+0

s3_client = ... kodunu nasıl ayarlayabilirim? aws.rb veya nerede? – Felix