2

我在 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-在。

对此的任何帮助将不胜感激!谢谢!

4

1 回答 1

1

因为它是一个单独的插件,所以它有自己的 api,而不是 heroku-rb 的一部分。如果您想查看 CLI 调用的 API,请查看此文件:https ://github.com/heroku/heroku/blob/master/lib/heroku/client/pgbackups.rb

但是请注意,虽然您可以找出 api,但它没有记录在案,并且可以并且将会更改,恕不另行通知。这不是出于恶意,而是我们还没有花时间为 pgbackups 确定一个可靠的 api,我们会为站在后面感到自豪。

与此同时,尽管继续使用它,但请注意它。

于 2013-02-20T23:51:37.943 回答