ノーコード ラボ

NoCode 関連のツールの紹介、使い方などをやさしく説明します。質問やご指摘大歓迎です。わからないことがあったら、コメントや Twitter などで聞いてください!

Bubbleで10,000件のデータを一括アップロードできる?!パスワードを含むユーザー情報をParabolaで一括登録する

f:id:earthmash:20210916180919p:plain こんにちは!「Bubbleに大量のデータを一括登録したい」「Bubbleで作ったサービスにユーザー情報を移行したい」といった大量データの一括登録方法が分からず困った経験はありませんか?

本日は、Parabolaを使ってパスワードを含む10,000件のデータを一括登録する方法をご紹介します。

今回利用するサービス

今回ご紹介する方法では、Google sheetsとiPaaSのParabolaを利用します。Parabolaについては以下の記事でご紹介しています。まだアカウントをお持ちでない方は、以下の記事を参考にまずはアカウント登録してください。

ParabolaはZapierなどのiPaaS系サービスと違って、必ずしもフローの最初のステップにトリガーとなるアクションを設定する必要がないので、データの一括登録に向いているサービスです。

blog.nocodelab.jp

Parabolaを使ったGoogle sheets-Bubbleの連携方法については基本的に上記の記事と同じですが、ParabolaのUIで一部変更が入っているため改めて最初から解説します。

登録するデータを用意する

まずはBubbleにアップロードするデータをGoogle sheetsで用意します。 1行目にカラム名、2行目以降にアップロードしたいデータを入れます。

f:id:earthmash:20210916095657p:plain
一括登録するデータをGoogleSheetsに用意

カラム名は、アップロードするBubbleのTypeのfield名と一致させると分かりやすいです。

10,000件のテストユーザーデータはこちらからご利用ください。

Parabolaで連携する

Parabolaにログインしたら、「Add a new flow」をクリックして新しいFlowを作成します。 Flowを開いたら、右側の白い部分にある「Pull data from other apps」をクリックし、選択肢から「Pull from Google Sheets」をドラッグアンドドロップで適当な位置に置きます。

次に、同じく右側の白い部分にある「Send data and trigger actions」をクリックし、選択肢から「Send to Bubble」をドラッグアンドドロップで「Pull from Google Sheets」の右側に置いてください。

このとき、黄色いアラートが出てきたらゴミ箱マークから削除してください。設定に関する注意点が記載されています。

f:id:earthmash:20210916095842p:plain
「Pull from Google Sheets」と「Send to Bubble」を選択

そして、「Pull from Google Sheets」の右側から出ている矢印を引っ張って、「Send to Bubble」に繋げます。

f:id:earthmash:20210916095934p:plain
「Pull from Google Sheets」と「Send to Bubble」を繋ぐ

Pull from Google Sheetsの設定

「どのGoogle Sheetsのどのシートの情報を登録するか」を設定しましょう。

配置した「Pull from Google Sheets」のアイコンをダブルクリックして編集画面を開きます。 左上の「Authorize Google Sheets」と記載されている部分をクリックし、登録したいGoogle Sheetsを保存しているGoogleアカウントを連携してください。

f:id:earthmash:20210916101502p:plain
Googleアカウント連携

Googleアカウントを連携すると、Google Sheetsの情報を選択する部分のホワイトアウトが解除されるので、登録するGoogleSheetsのファイル名・シート名を選択してください。

f:id:earthmash:20210916101528p:plain
登録するGoogle Sheetsを選択

左下の「Reflesh data」をクリックしてください。問題なければGoogleSheetsが編集画面に表示されます。

f:id:earthmash:20210916102621p:plain
Google Sheetsの設定完了!

これでGoogle Sheetsの設定は完了ですので右上のバツ印から編集画面を閉じてください。

Bubble Exportの設定

次に、「どのBubbleアプリのどのTypeにデータを登録するか」を設定します。

Bubble側での設定とParabolaでの設定があります。

Bubble側での設定
  • DataAPI連携設定

BubbleのDataAPI連携機能の設定をしていきます。 データを登録するBubbleアプリのSettings>APIタブを開き、「Public API endpoints」の「Enable data API」をチェックします。 するとTypeの一覧が表示されますので、データを登録するTypeをチェックしてください。

f:id:earthmash:20210916104422p:plain
Data API連携設定

  • Privacy Rule設定

今度は、データを登録するTypeのPrivacy Ruleの設定をしていきます。 Data>Privacyタブを開き、データを登録するTypeをクリックするとそのTypeのPrivacy ruleが表示されます。 User TypeにはデフォルトでPrivacy ruleが作成されています。

「Create/Modify/Delete via API」という項目がData APIに関する項目です。 今回はデータの一括登録のみなので、「Create via API」をチェックします。

f:id:earthmash:20210916104716p:plain
Create via APIをチェック

以上でBubble側での設定は完了です。 Parabolaに戻りましょう。

Parabolaでの設定

Parabolaの「Bubble Export」のアイコンをダブルクリックし、編集画面を表示します。 各項目は以下のように設定してください。

  • Request Type

データを作成するので、「POST」を選択します。

  • API Endpoint URL

DataAPI連携に必要な「Data API root URL」を入力します。 このURLは、BubbleアプリのSettings>APIタブに記載されているURL(https://……/obj)の末尾に、「/データを登録するタイプ名」を追加したものです。

f:id:earthmash:20210916110336p:plain
API endpoint URLをコピー

User Typeの登録であれば、

https://アプリ名.bubbleapps.io/version-test/api/1.1/obj/user

というURLになります。 Type名は先頭小文字で記載します。

f:id:earthmash:20210916115636p:plain
各自endpoint URLを編集

  • Request Body

Google Sheetsのどの列がどのカラムに対応するのかを記載します。 記載は以下のかたちが基本になります。

{

"Bubble 側の field名": "{Parabola 側の列名}"

}

今回は、以下のコードを記載します。

{

"Name": "{Name}",

"email": "{email}",

"password": "{password}"

}

今回はパスワードも登録したいので、passwordカラムについても記載します。 Bubbleに保存されているUserのパスワードは暗号化されているので閲覧やExportはできませんが、この方法でなら外部からの登録ができるようです。

f:id:earthmash:20210916115712p:plain
Request body完成

  • Authentication

Authentication Typeは「Bearer Token」を選択、下のBearer Token欄にはBubbleアプリのSettings>APIタブに記載されている「API Tokens」の「Private key」をコピーし貼り付けてください。 API Token Labelは「Parabola」にしておきましょう。

f:id:earthmash:20210916110409p:plain
API Tokensをコピー

f:id:earthmash:20210916115800p:plain
Bearer tokenにコピーしたものを貼り付け

  • Rate Limiting

処理件数に関する制限の設定です。 「Maximum requests per minute (optional)」はデフォルトでは60になっていますが、これでは全件登録完了まで60分以上かかるというエラーが出るので1000にしておきます。

f:id:earthmash:20210916120107p:plain
Rate limitingの設定

以上で設定はすべて完了です。 最後に左下の「Reflesh data」をクリックし、問題なく編集画面にGoogle Sheetsが表示されるのを確認したら設定画面を閉じます。

f:id:earthmash:20210916120516p:plain
Bubble Exportの設定完了!

処理を実行する

右上の青い「Update Live↑」をクリックし、画面中程の「Run Flow Now→」をさらにクリックすると確認のポップアップが出てくるので、「Run Now」をクリックすると処理が実行されます。

f:id:earthmash:20210916121353p:plain
Update Liveボタンをクリック
f:id:earthmash:20210916121414p:plain
Run Flow Nowクリック
f:id:earthmash:20210916142747p:plain
Run Nowクリックで処理実行!

処理中は、「Run Flow Now→」の下部に「Flow running」と経過時間が表示されます。

f:id:earthmash:20210916125302p:plain
処理中の表示

ここに「Succedded」と処理結果が表示されたら処理完了です。 BubbleのDBからも登録できているか確認しておきましょう。

f:id:earthmash:20210916142529p:plain
処理完了後の表示
検証時の所要時間は、1,000件で14分、10,000件で54分でした。

終わりに

今回のポイントは、

  • 10,000件の大量データ一括登録

  • パスワード情報の外部からの登録

でした。

システム移行や運用テストの際にぜひご活用ください!