2012-08-03 9 views
7

Sto provando a configurare l'app per i miei binari per caricare le sue risorse su AWS S3 di Amazon utilizzando la gemma asset_sync, dopo these instructions. So di aver configurato la mia roba S3 proprio perché la mia app è altrimenti in grado di caricare immagini su S3. Sono abbastanza sicuro che ho tutte le impostazioni corrette:Perché è `rake assets: precompilare` throwing" getaddrinfo: Nome o servizio non noto "? (re: asset_sync)

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

Eppure continuo a ricevere un errore:

-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 

Compilazione localmente produce un errore di leggermente diverso:

-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 

risposta

10

Ho rintracciato l'errore fino a a 'connection' line in Fog, una delle dipendenze di runtime di asset_sync, e risulta che il mio FOG_REGION non è stato impostato correttamente. Nel mio caso, la regione avrebbe dovuto essere us-west-2, non s3-us-west-2.

È stato un po 'di tempo da quando ho configurato il mio account S3, quindi ho cercato innanzitutto di determinare quale area stavo utilizzando accedendo alla console di AWS S3, facendo clic sul nome del bucket e quindi facendo clic su "Proprietà". Lì, la regione è elencata come Oregon. Bene, quello non ha funzionato. Quindi ho fatto clic sul browser degli oggetti e delle cartelle di uno dei miei bucket esistenti finché non sono arrivato a un asset, ho cercato le sue "Proprietà" e ho visto il "Link":

https: // s3-us- ovest-2 .amazonaws.com/mybucketname/uploads/MyModel/immagine/1135/myimage.jpg

ero convinto che s3-us-west-2 era corretto fino a quando ho notato che Fog adds the s3- prefix.

Ad ogni modo, ora so che una volta che si scopre la vostra regione per nome (ad esempio Oregon), si può guardare in su in this list of S3 regions (è il nome sotto la colonna Località Vincolo).

Spero che questo aiuti qualcuno.

+0

Ottima risposta. Ancora non riesco a capire perché Amazon un'azienda così grande abbia un'interfaccia utente molto scarsa –