firebaseシリーズ第3弾!firebaseのdatabaseのバックアップ方法について書きます。
firebaseのdatabaseには公式に提供されているbackup機能が存在します。
それなら、それを使えば良いのですが・・・この機能は有料のプランでしか使えません。(2017/10/05現在)
無料プランだけど、バックアップは取りたい。そう思う人が大半だと思います。
そこで、比較的簡単にできる方法をご紹介します。
GoogleAppScriptとGoogleDrive(以下ではGAS)を使います。
GASからGETリクエストを行い、レスポンスをGoogleDriveに書き込むだけです。
以下に、簡単に手順を書いてみます。
【手順】
①GoogleDriveとGASを接続します。
Googleドライブの画面で、
「新規」→「その他」から「アプリを追加」を選択します。
※すでに追加している場合、「Google App Script」を選択してください。
アプリの選択画面になるので、GoogleAppScriptを検索して追加してください。
無事追加出来たら、「新規」→「その他」→「Google App Script」を選択します。
②別画面でGASの画面が開きます。
ここに、以下のようなコードを貼り付けて、保存、実行します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function myFunction() { | |
var urlFetchOption = { | |
'method' : 'get', | |
'contentType' : 'application/json; charset=utf-8', | |
'muteHttpExceptions' : true | |
}; | |
var response = UrlFetchApp.fetch('https://[プロジェクト名].firebaseio.com/.json?format=export&auth=[認証キー]', urlFetchOption); | |
var myFolder = DriveApp.getFolderById('[フォルダID]'); | |
var today = Utilities.formatDate( new Date(), 'Asia/Tokyo', 'yyyyMMddHHMMSS') | |
myFolder.createFile(today, response.getContentText(), MimeType.PLAIN_TEXT); | |
} |
フォルダIDの部分と、firebaseのURLの部分は、ご自身の環境に合わせて変更してください。
認証キーは、firebaseのコンソールの「設定」-「サービスアカウント」で分かります。
③指定したフォルダにファイルができているか確認しましょう。
firebaseにテスト用のプロジェクトを作って、インポートできるかどうかも確認したほうが良いでしょう。
④毎日勝手にバックアップを取ってほしいので、GASの今作成したfunctionに対して、トリガーを設定します。
時計のアイコンをクリックすると、トリガーの設定画面が開きます。
毎日0:00から1:00の間に取る場合はこんな感じにします。
以上です。firebaseの無料プランでも、バックアップを手軽に取る方法でした!
便利なgoogleのサービス、連携でさらに便利
いけだ
コメント