0

안녕하세요 누구든지 제가 잘못하고있는 방향으로 나를 가리킬 수 있습니다. 개발중인 레일 애플리케이션을 사용하여 EU 지역의 S3 버킷에 이미지를 업로드하려고합니다. , TCPSocket.open (conn_address, conn_port : 노드 이름도 servname 제공, 또는 다음 줄에 Cant는 레일 앱과 클립으로 s3 버킷에 이미지를 업로드합니다.

를 알 수없는이 오류가 나는 오류한다 getaddrinfo는 소켓 오류

  • ProductsController가
    • 을 얻고있다 @local_host, @local_port)

      나는 aws-sdk gem과 paperclip 4.2를 사용하고 있습니다. 내 모델

      class Product < ActiveRecord::Base 
      
          validates :avatar, 
          attachment_content_type: { content_type: /\Aimage\/.*\Z/ }, 
          attachment_size: { less_than: 5.megabytes } 
      
          has_attached_file :avatar, styles: { 
          thumb: '100x100>', 
          square: '200x200#', 
          medium: '300x300>' 
          } 
      end 
      

      내가 무엇을 놓치고에서

      config/enviroments/development.rb 
      
      config.paperclip_defaults = { 
          :storage => :s3, 
          :s3_host_name => "s3-eu-west-1.amazonaws.com", 
          :s3_credentials => { 
          :bucket => 'S3_BUCKET_NAME', 
          :access_key_id => 'AWS_ACCESS_KEY_ID', 
          :secret_access_key => 'AWS_SECRET_ACCESS_KEY' 
      } 
      

      config/aws.yml 
          development: 
           AWS_ACCESS_KEY_ID: "xxx" 
           AWS_SECRET_ACCESS_KEY: "xxx" 
           S3_BUCKET_NAME: "xxx" 
           s3_host_name: 's3-eu-west-1.amazonaws.com' 
      

      에서 : 여기

      는 일부 코드에서

      을 니펫입니까? 온라인에서 찾을 수있는 모든 예를 살펴 보았지만 조정을 시도했지만 운이 없었습니다.

      감사

    답변

    0

    좋아, 나는 development.rb 파일로 AWS 자격 증명을 하드 코딩하여이 문제를 해결했습니다. 그래서 문제가 aws.yml 파일이로드되지 않았던 것처럼 보입니다. 아무도 왜이 문제를 해결할 수있는 아이디어가 있습니까?

    다시 한번 감사

    1

    이 시도 :

    #config/enviroments/development.rb 
    
    config.paperclip_defaults = { 
        :storage => :s3, 
        :s3_host_name => "s3-eu-west-1.amazonaws.com", 
        :s3_credentials => { 
        :bucket => ENV["S3_BUCKET_NAME"], 
        :access_key_id => ENV["AWS_ACCESS_KEY_ID"], 
        :secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"] 
    } 
    
    +0

    당신의 제안이 무엇인지 선택한 답변입니다? – Ungeheuer