【X自動投稿】Makeデータベースを使ったデータ活用
こんにちは。前回の記事では、JSONファイルのデータをMake上のデータベース(以降、DB)に格納する方法について詳しくご紹介しました
この記事は、『Make』にあるDB機能を活用したい方々にオススメです。
今回は、その続きとして『Make』のDB機能を活用し、JSONファイルを使用していた場合と同様の動作を実現するためのシステム改修について解説します。
システム改修方針
現状のシステムについて
システム改修を検討する上で、まずは現状のX自動ポストシステムのデータフローについて整理します。
① ファイルの読み込み:Google Drive上にあるポストするネタファイル(JSON形式ファイル)を読み込む
② リスト化:元ネタファイルをリストとして保持する
③ 乱数を使用:リストからランダムに1レコード取得する
④ Xへのポスト:取得した内容をXにポストする
改修方針について
DBには以下のようにデータが収録されています。「WORD」はポストしたい内容、keyにはDB内で一意となる番号が採番されています。
この新しいシステムでは、乱数を使って’key’を生成し、それに対応するレコードをDBから取得してポストすることを考えています。改修後のデータフローは以下の通りです。
① DB内のレコード数をカウント:DBに保存されているレコードの総数を確認する
② 乱数を生成:レコード数の範囲内で乱数を生成する
③ DBからのレコード取得:この乱数を「key」として使用して、DBから1レコードを取得する
④ Xへのポスト:取得した内容をXにポストする
それでは構築を進めていきましょう。
システム構築手順
この章では前章で概説したデータフローに基づいて、改修後のモジュール配置に関する詳細を説明します。(図の番号は前章の「改修後システムのデータフロー整理」の番号に対応しています。)
『Data store』 <Count records>モジュール
このモジュールは指定したDB内のレコード数を取得します。これにより、DBに格納されているレコード数を把握できます。
『Math』<Evaluate a math expression>モジュール
続いて、Mathモジュールを使用して乱数を生成します。以下の式を設定します:
randomInt(1, {{28.count}})
ここで、「28.count」は前のモジュールで取得したレコード総数を表しており、1からレコード数の最大値の間でランダムな数値を取得できます。
『Data store』<Get a record>モジュール
このモジュールはKeyを指定することにより、DB内の対応する1レコードを取得します。
「Key」には、直前で生成した乱数を使用してください。これにより、keyに対応するレコードが取得できます。
『Twitter』<Create a Tweet>モジュール
最終ステップでは、取得したレコード内容をポストします。「Text Content」には、直前に取得したレコードの内容(この場合はWORD)を設定してください。
以上で実装は完了です。実際に「Run once」ボタンを押して、問題なくポストができるか確認しましょう。問題なければ、今回の目的を達成できたと言えます。
まとめ
今回、Make上にあるDBを活用したシステム改修について解説しました。この改修により、データ管理がより簡単になると同時に、システムのパフォーマンス向上も期待できます。