2012-08-03 30 views
7

Tôi đang cố thiết lập ứng dụng đường ray của mình để tải nội dung của nó lên AWS S3 của Amazon bằng cách sử dụng đá quý asset_sync, theo sau these instructions. Tôi biết tôi đã có những thứ S3 của tôi được cấu hình đúng vì ứng dụng của tôi có thể tải hình ảnh lên S3. Tôi chắc chắn rằng tôi đã có tất cả các thiết lập chính xác:Tại sao `tài sản rake: biên dịch trước 'ném' getaddrinfo: Tên hoặc dịch vụ chưa biết"? (re: asset_sync)

FOG_DIRECTORY => mybucketname 
FOG_PROVIDER => AWS 
FOG_REGION => s3-us-west-2 

Tuy nhiên, tôi tiếp tục nhận được một lỗi:

-bash> heroku run rake assets:precompile --remote staging 
Running rake assets:precompile attached to terminal... up, run.1 
AssetSync: using default configuration from built-in initializer 
mkdir -p /app/public/assets 
... 
mkdir -p /app/public/assets 
AssetSync: Syncing. 
rake aborted! 
getaddrinfo: Name or service not known        # <-- error 

Biên soạn tại địa phương tạo ra một lỗi hơi khác nhau:

-bash> bundle exec rake assets:precompile 
AssetSync: using default configuration from built-in initializer 
mkdir -p /Users/bart/Dev/MyApp/myapp/public/assets 
... 
mkdir -p /Users/bart/Dev/MyApp/myapp/public/assets 
AssetSync: Syncing. 
rake aborted! 
getaddrinfo: nodename nor servname provided, or not known    # <-- error 

Trả lời

10

Tôi đã truy tìm lỗi xuống a 'connection' line in Fog, một trong các phụ thuộc thời gian chạy của asset_sync và chỉ ra rằng số FOG_REGION của tôi đã được đặt không chính xác. Trong trường hợp của tôi, khu vực phải là us-west-2, không phải là s3-us-west-2.

Đã một thời gian kể từ khi tôi định cấu hình tài khoản S3 của mình, vì vậy trước tiên tôi đã xác định khu vực mình đang sử dụng bằng cách đăng nhập vào bảng điều khiển AWS S3, nhấp vào tên nhóm và sau đó nhấp vào "Thuộc tính". Tại đó, khu vực được liệt kê là Oregon. Vâng, điều đó không hiệu quả. Vì vậy, sau đó tôi nhấp qua trình duyệt và đối tượng của một trong các nhóm hiện tại của tôi cho đến khi tôi tìm được nội dung, tìm kiếm "Thuộc tính" và thấy "Liên kết":

https: // s3-us- tây-2 .amazonaws.com/mybucketname/uploads/MyModel/image/1135/myimage.jpg

tôi đã bị thuyết phục rằng s3-us-west-2 là đúng cho đến khi tôi nhận thấy rằng Fog adds the s3- prefix.

Dù sao, bây giờ tôi biết rằng một khi bạn tìm hiểu khu vực của bạn bằng tên (ví dụ Oregon), bạn có thể nhìn nó trong this list of S3 regions (đó là tên dưới cột Location Hạn chế).

Tôi hy vọng điều này sẽ giúp ai đó.

+0

Câu trả lời hay. Vẫn không thể hiểu tại sao Amazon như một công ty lớn có giao diện người dùng rất kém –

Các vấn đề liên quan