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 do |public_file|

current_url = public_file.url.link
(ここで、そのリンクを使用してファイルを別のサーバーにコピーします)

終わり

Heroku は、API ではなくコマンドラインからこれを行う方法に関するドキュメントを提供しています。これは、コマンドラインからこれを行う方法に関する Web サイトのスニペットです。

> 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のドキュメントに少し助けがありますが、そのサイトのサンプルは、このアドオンを実際に操作する方法を理解するのに十分ではありません-の上。

これについての助けをいただければ幸いです。ありがとう!

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 に答える