2016-04-14 20 views
1
curl -n -X GET https://api.heroku.com/apps/mypgapp/addons/heroku-postgresql 
-H "Content-Type: application/json" 
-H "Accept: application/vnd.heroku+json; version=3" 

reelevant PG ile JSON döndürür bilgi eklenti, ama CLI pg:credentials komutla sağladığından bağlantı dizeleri sağlamaz. Heroku REST API üzerinden almak istediğim ana bilgisayar, port, dbname, kullanıcı ve şifre.Eşdeğer dinlenme API çağrısı

Bu mümkün mü?

cevap

2

Ben Heroku CLI hata ayıklama çıktısına bakmak için oldukça yararlı olabilir buldum. Bu durumda, ortam değişkenleri sorgu dizesi alabilirsiniz:

DEBUG=1 HEROKU_DEBUG=1 heroku config:get -a mypgapp DATABASE_URL             ❖ ruby-2.3.0 
heroku-cli/5.2.12-09f3ecc (darwin-amd64) go1.6.2 /Users/bjeanes/.local/share/heroku/cli/bin/heroku cmd: version 
heroku-cli/5.2.12-09f3ecc (darwin-amd64) go1.6.2 /Users/bjeanes/.local/share/heroku/cli/bin/heroku cmd: commands 
heroku-cli/5.2.12-09f3ecc (darwin-amd64) go1.6.2 /Users/bjeanes/.local/share/heroku/cli/bin/heroku cmd: config:get 
--> GET /apps/mypgapp/config-vars 
<-- 200 OK 
<-- {"DATABASE_URL":"postgres://[email protected]:5432/dfbe4e6vs4diqb"} 
postgres://[email protected]:5432/dfbe4e6vs4diqb 

Yani, daha sonra curl istek içine çevirebilir ve jq kullanarak değerini çıkmak:

$ curl -n -H 'Accept: application/vnd.heroku+json; version=3' \ 
    https://api.heroku.com/apps/mypgapp/config-vars | jq .DATABASE_URL 
postgres://[email protected]:5432/dfbe4e6vs4diqb 

budur heroku pg:credentials'un kullandığı API değil. Aslında Heroku'nun kendi deprecated v2 API'sini kullandı.

İlgili konular