はじめに
今回は、AWS S3にファイルがアップロードされたら、自動でQlik Cloudのリロード処理を走らせる仕組みを、
ノーコードツール Make.comで構築する方法をご紹介します。
1日1回ファイルの日付をチェックし、ファイルが新しく更新されていたらQlik Cloudをリロードするシナリオを作ってみました。
「データ更新のたびに手動でリロード…」そんな煩わしさを、クラウド連携で自動化できます!
この記事でできること
・S3にファイルがアップロードされたら自動検知
・Qlik AutomationをWebhookで呼び出して自動実行
・最新データでQlikアプリをリロード
シナリオ構成の全体像
今回の仕組みは、次の5つのパートで構成されています。
- Data Storeで最終実行日時を取得(Make.com)
- S3でアップロードされたファイルを検知(Make.com)
- Data Storeで取得した最終実行日時と、S3のファイルの更新日時を比較
- HTTPリクエストで、Qlik Automationを起動(Make.com → Qlik)
- Data Storeで実行日時を記録(Make.com)
- Make.comで実行スケジュールを設定し、定期チェックを行う
こちらが、Make.comのシナリオ完成図です。

手順①:Data Storeで最終実行日時を取得
まず、Make.comでシナリオを新規作成し、モジュール「Data store — Get record」を追加します。
ここで、S3の検知条件に使う「前回の実行日時(最終実行日時)」を取得します。

Keyに「last_run」を入力します。
Data storeは、シナリオ内でデータを一時的または永続的に保存・取得するための「小型データベース」のような機能を持っています。

「last_run」をキーにして、Data storeに保存している「value」(前回の実行日時)を取得します。
手順②:S3にアップロードされたファイルを検知する
シナリオに、モジュール「AWS S3 — List Files」を追加します。
ここでは、対象バケットやフォルダを指定し、「Date modified」や「Size」などS3の情報を取得します。

フィルターで、前回の実行日時とアップロードされた日時を比較し、前回の実行日時より後にアップロードされたファイルのみ通す条件を設定します。
また、実ファイルを取得するために「S3のSizeの数字が0より大きい」という条件を設定します。

「Ruter」を使って、モジュール「Data store — Update a record」を追加し、前回の実行日時より後にアップロードされたファイルがなかった場合、「前回の実行時刻」を更新するため、Data storeの「value」に実行日時が入るようにします。

「now」=実行日時
手順③:Qlik AutomationをWebhookで実行
モジュール「HTTP —Make a request」を追加して、Qlik CloudのAutomationを呼び出します。
リロードしたいアプリと連携しているQlik AutomationのWebhookを設定します。
設定項目
URL:Qlik AutomationのWebhook URL
Headers Name:認証トークン名
Headers Value:Qlik側で発行したトークン

手順④:Data Storeで実行日時を記録
最後に、モジュール「Data store — Update a record」をシナリオに追加し、S3の検知条件に使う「前回の実行時刻」を更新するため、Data storeの「value」に実行日時が入るようにします。

前回の実行日時以降にアップロードされたファイルのみを対象に自動化が動くようになります。
手順⑤:Make.comで実行スケジュールを設定し、定期チェックを行う
1日1回シナリオを実行し、アップロードされたファイルがないかを定期的にチェックします。

これで、S3にファイルがアップロードされたらQlikを自動リロードという完全自動のデータ連携フローが完成です。
まとめ
今回のシナリオは、スケジュール実行によって定期的に動作するため、Make.comのクレジットを消費しながら運用します。実行頻度を上げるとフリープランでは制約が出ることもありますが、その分、更新作業の自動化によって運用の安定性と信頼性を高めることが可能です。
また、この仕組みは複雑な設定を必要とせず、Qlik Cloud初心者でも手順を追って構築できるシンプルな自動化として活用できます。
このほかにも、新しいツールや仕組みを取り入れながら、いろいろな自動化にチャレンジしていきたいです!


