ヤマダです!
札幌は紅葉が綺麗になってきました。ゴルフも寒くなってきた。。。
さて、今回はQlik AutomateでリロードログをS3に保存する処理を作成してみました。
リロードログの確認はQlikCloud上でも確認できますが、外部出力したい要望もあるかと思いますので作成しました。余談ですが、リロードログっていつまで保存されているのかわかりませんでした。
誰か知っている人がいたら教えてほしいです!
事前準備
- S3の接続情報(Access key IDとsecret access key)
全体処理
処理は以下のイメージになります。
- リロード、ログ取得
- S3へログ出力
QlikAutomate(自動化)をテンプレートなしで新規作成後、各設定を行います。
リロード、ログ取得
リロード処理(Qlik Cloud Servicesより「Do Reload」のアイコンを選択)
Inputsタブで以下の設定
項目 | 値 |
---|---|
AppId | リロードするアプリ選択 |
RunMode | Wait for reload to complete(リロードが完了するまで待つ) |
※TimeOut | 60(タイムアウト設定値:秒) |
※Partial | No(全件リロード) |
※Weight | 設定なし |
※は任意に合わせて設定をしてください
ログ取得(Qlik Cloud Servicesより「Raw API Request」のアイコンを選択)
Inputsタブで以下の設定
項目 | 値 |
---|---|
Path | reloads/リロードIDを選択 |
HTTP Method | GET |
Body | 設定なし |
Query Parameters | Key値をlog、Value値をtrueに設定 |
PATHではreloadsのAPIを使用してます。
アプリ名取得(Qlik Cloud Servicesより「Raw API Request」のアイコンを選択)
Inputsタブで以下の設定
項目 | 値 |
---|---|
Path | apps/リロードのアプリIDを選択 |
HTTP Method | GET |
Body | 設定なし |
Query Parameters | 設定なし |
PATHではappsのAPIを使用してます。
S3へログ出力
3つのステップでS3に出力します。
qlik-automation(バケット)
┗ アプリ名(フォルダ)
┗ YYYY-MM-DD hh:mm:ss.log
Create File on Amazon S3(Amazon S3より「Create File」のアイコンを選択)
ConnectionタブでS3の接続情報を設定後にInputsタブで以下の設定
項目 | 値 |
---|---|
Connector | Amazon S3 |
Path | アプリ名/CreationTime.log |
Region | S3のRegion |
Bucket | 出力BUcket |
Write Line To File on Amazon S3(Amazon S3より「Write Line To File」のアイコンを選択)
Inputsタブで以下の設定
項目 | 値 |
---|---|
File | Create File on Amazon S3で設定したPathを選択 |
Data | ログ取得のAPIの戻り値のLogを選択 |
Mode | Automatic |
Save And Close File on Amazon S3(Amazon S3より「Save And Close File」のアイコンを選択)
Inputsタブで以下の設定
項目 | 値 |
---|---|
File | Create File on Amazon S3で設定したPathを選択 |
まとめ
今回のサンプルはリロードするアプリを固定で設定しましたが、変数化にすることで動的に対応も可能です。
さらに、リロードエラー時にSlack、Teamsへの通知する処理を追加することで、実運用に即した柔軟な設計が実現できます。
Qlik Automateは運用設計の自由度が高いため、さまざまな業務要件に合わせた自動化が可能です。ぜひ活用をご検討ください。ではまた!