我在 Heroku 上有一个应用程序,我想将 Heroku 上的生产数据库备份到单独的云服务提供商站点上的备份文件存储库中。为此,我需要从 heroku 获取公共 URL 以进行备份,我只是不确定如何调用 api 来获取它。这是我想如何获得它的一些粗略的 sudo 代码,但显然语法来自我的头脑/其他人的示例,所以它不是工作代码。
需要'heroku-api'
heroku = Heroku::API.new(:api_key => API_KEY)
> (如果备份文件太大,那么你的数据库会被分割成多个备份文件,所以我需要遍历每个生成的公共 URL)
heroku.get_addons('my-heroku-app').pgbackup.url.each 做 |public_file|
current_url = public_file.url.link
(在这里我会使用该链接将文件复制到另一台服务器)结尾
Heroku 提供了有关如何从命令行而不是 api 执行此操作的文档。这是他们网站上关于如何从命令行执行此操作的片段。
> Downloading a backup
>
> You can create a publicly accessible backup URL with the pgbackups:url
> command. This is useful when migrating data between applications,
> upgrading starter tier plans, and exporting your data.
>
> $ heroku pgbackups:url
> "http://s3.amazonaws.com/hkpgbackups/app1234567@heroku.com/b004.dump?AWSAccessKeyId=ABCD1234&Expires=1289261668&Signature=3mMBeKISewgEUDT%2FL5mRz4EYS4M%3D"
> By default the URL will reference the most recent backup. To access
> another backup pass the backup ID to the pgbackups:url command.
此外,他们在 github https://github.com/heroku/heroku.rb上的文档中提供了一些帮助,但是该站点上的示例还不足以让我了解如何实际使用此 add-在。
对此的任何帮助将不胜感激!谢谢!