没有公共 API 可以做到这一点。
然而,它可以做到...
首先,您需要数据库的唯一名称。您可以通过它的附件名称/别名来查找它,通常DATABASE
或HEROKU_POSTGRES_[COLOR]
默认情况下,或者您可能使用heroku addons:{create,attach} --as NAME
. 默认情况下使用别名,DATABASE
以下是使用curl
and获取它的方法jq
:
$ curl -H "Authorization: Bearer $API_KEY" \
-H "Accept: application/vnd.heroku+json; version=3" \
https://api.heroku.com/apps/$APP_NAME/addon-attachments/DATABASE \
| jq .addon.name
"postgresql-colorful-12345"
然后,假设名称保存存储在 中$DBNAME
,您可以像这样轮换其凭据:
$ curl -X POST -u "x:$API_KEY" \
https://$DOMAIN/client/v11/databases/$DBNAME/credentials_rotation
{"status":"ok","url":"[REDACTED]","message":"Password reset."}
$DOMAIN
将postgres-api.heroku.com
用于付费计划和postgres-starter-api.heroku.com
免费/爱好计划,IIRC。
此 API 可能随时更改,因为它被视为私有 API,因此请在您决定使用它时考虑到这一点。