use*_*833 7 ruby-on-rails cdn amazon-s3 fog asset-pipeline
我正在尝试设置我的rails应用程序,使用asset_sync gem 将其资产上传到Amazon的AWS S3 ,遵循这些说明.我知道我的S3配置正确,因为我的应用程序无法将图像上传到S3.我很确定我的所有设置都是正确的:
FOG_DIRECTORY => mybucketname
FOG_PROVIDER => AWS
FOG_REGION => s3-us-west-2
Run Code Online (Sandbox Code Playgroud)
但我一直收到一个错误:
-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
Run Code Online (Sandbox Code Playgroud)
在本地编译会产生稍微不同的错误:
-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
Run Code Online (Sandbox Code Playgroud)
use*_*833 10
我将错误追溯到Fog中的'连接'行,这是一个asset_sync运行时依赖项,结果发现我的FOG_REGION设置不正确.就我而言,该地区应该是us-west-2,而不是s3-us-west-2.
自从我配置了S3帐户以来已经有一段时间了,所以我首先尝试通过登录AWS S3控制台,单击存储桶名称,然后单击"属性"来确定我正在使用的区域.在那里,该地区被列为俄勒冈州.好吧,那没用.然后我点击了我现有存储桶的对象和文件夹浏览器,直到找到资产,查找其"属性",然后看到"链接":
https:// s3-us-west-2 .amazonaws.com/mybucketname/uploads/mymodel/image/1135/myimage.jpg
我确信这s3-us-west-2是正确的,直到我注意到Fog添加了s3-前缀.
无论如何,我现在知道,一旦你通过名字找到你的区域(例如俄勒冈州),你可以在这个S3区域列表中查找它(它是位置约束列下的名称).
我希望这可以帮助别人.
| 归档时间: |
|
| 查看次数: |
1189 次 |
| 最近记录: |