On-Demand アプリの管理

On-Demand アプリは、選択アプリをテンプレート アプリに接続するナビテーション リンクから、Qlik Sense ハブに生成されます。On-Demand アプリを生成するには、On-Demand アプリ サービスを有効にする必要があります。適切なアクセス権限がある場合は、Qlik Sense ハブから選択アプリおよびテンプレート アプリを作成し、ストリームに公開することができます。選択アプリおよびテンプレート アプリは、QMC (Qlik Senseの一部) からストリームに公開することもできます。生成された On-Demand アプリは、適切なアクセス権があれば、QMC または Qlik Sense ハブから公開することも可能です。

Qlik Sense Desktop インストールで生成された On-Demand アプリを公開するには、最初に QMC を使用してそのアプリをインポートする必要があります。 

アプリ、ストリーム、ユーザーに適用されるセキュリティ ルールによって、コンテンツにアクセスできるユーザーおよびそのユーザーが実行できる内容が決まります。アプリは公開後ロックされます。サーバー デプロイメントの Qlik Sense ハブを介してコンテンツを公開済みのアプリに追加することは可能ですが、オリジナルのアプリで公開されたコンテンツは編集できません。

On-Demand アプリ サービスのプロパティ

選択アプリおよびテンプレート アプリは、On-demand アプリ サービスを有効にしなくても作成できますが、ナビゲーション リンクを作成して On-demand アプリを生成するには、このサービスを有効にする必要があります。On-demand アプリ サービスは QMC で管理します。On-Demand アプリ サービスの以下のプロパティを管理できます。

プロパティ 説明
On-Demand アプリの有効化

On-Demand アプリ サービスを有効化および無効化します。このサービスは、デフォルトでは無効になっています。

サービスを有効から無効に切り替えると、On-Demand アプリを生成するためにペンディング中の要求を終了することができます。ただし、いったんサービスを無効にすると、アプリを生成する新しい要求は受け入れられません。

ログ レベル サービス ログ ファイルに書き込まれる詳細レベルを指定します。
一度に作成可能なアプリ数

サービスが一度に作成できるアプリの数を指定します。デフォルトは 1、最大数は 10 です。

この設定はアプリ生成の応答時間に影響しますが、一度に生成できるアプリの数を設定するときには、ロードされるデータの量も考慮する必要があります。データのロード サイズが適度である場合は、一度に生成されるアプリの数を多くすると、各アプリの応答時間が改善されます。ただし、ロード サイズが大きいと、設定数がより少ない場合よりも応答が遅くなり、アプリ生成のためにアプリがキューで待機しなければならなくなる可能性があります。

マルチ ノード環境では、一度に生成できるアプリの数に関する設定は、その環境で実行されている On-Demand アプリのすべてのインスタンスに適用されます。複数のサービスが同じ Qlik Associative Engine を使用している場合、その Qlik Associative Engine へのロードは、サービスの複数のインスタンスから一度に生成できるアプリの累積数となります。

履歴データを解析するまでの日数

On-Demand アプリに関する特定の履歴データを削除するまでの保存日数を指定します。0~365 の値を指定できます。0 に設定するとデータは削除されません。既定値は 90 日です。

On-Demand アプリ サービスでは、ナビゲーション リンクおよび要求に関するデータを保持して On-Demand アプリを生成およびリロードします。

On-Demand アプリのナビゲーション リンクが削除されると、デコミッション ステートに廃棄状態で維持されます。解析前に指定した日数に到達すると、ナビゲーション リンクに関する情報は削除されます。

On-Demand アプリ サービスには、On-Demand アプリを生成およびリロードする要求に関する情報も維持されます。On-Demand アプリを削除すると、リロード要求に関する情報は解析前に指定した日数の間維持されます。

匿名ユーザーに対するアプリ生成の許可

公開された選択アプリのナビゲーション ポイントから匿名ユーザーが On-demand アプリを生成できるよう許可します。この設定は、匿名認証が設定されている Qlik Sense システム上でのみ適用されます。

匿名の認証

匿名ユーザーは、ナビゲーション リンクから自動的に公開されるアプリのみ生成できます。生成されたアプリが自動的に公開されない場合、匿名ユーザーにはそのアプリに対するアクセス権限がありません。

匿名ユーザーの代わりにアプリの生成に使用されるプロキシ ユーザー

匿名ユーザーの代わりのプロキシ ユーザーとなるユーザーを選択します。On-demand アプリ リクエストを作成可能な登録ユーザーを選択します。プロキシ ユーザーには、匿名ユーザーがアクセス可能な On-demand 選択アプリに対する読み取り権限も必要です。プロキシ ユーザーとして、またはルート管理者権限を持つユーザーとして管理ユーザー (INTERNAL\sa-xxx) を選択しないでください。

警告: 匿名ユーザーが使用可能な On-demand 選択アプリを含むストリームを作成する場合、On-demand アプリのプロキシ ユーザーに対して読み取りアクセスを許可するセキュリティ ルールを設定する必要があります。プロキシ ユーザーに読み取りアクセス権限がないと、アプリ ナビゲーション バーのすべてのリンクが [Invalid] (無効) として表示されます。

シングル ユーザーはすべての匿名ユーザーの代わりとなりますが、匿名ユーザーはそれぞれが On-Demand App Service によって特定され、識別されています。これにより、各匿名ユーザーは自身が生成したアプリにアクセスできるようになりますが、他の匿名ユーザーがそのアプリにアクセスできなくなります。各匿名ユーザーは、自身が生成したアプリにのみアクセスできます。

匿名ユーザーが生成したアプリの保存期間

匿名ユーザーが生成したアプリが削除されるまでの保存期間を指定します。既定の設定は 60 分間です。

この時間は、最後にデータがロードされた時点から計測されます。

ナビゲーション リンクに対する保存期間の設定もあります。匿名ユーザーが生成したアプリの場合、2 種類の保存期間設定のうち短い期間が使用されます。

例えば、保存期間が 24 時間に設定されているナビゲーション リンクが匿名ユーザーに使用されていて、[匿名ユーザーが生成したアプリの保存期間] の設定が 60分間の場合、アプリは最後のデータ ロードから 60 分後に削除されます。ただし、ナビゲーション リンクの保存期間の設定が 30 分であれば、匿名ユーザーが生成したアプリは最後のデータ ロードから 30 分後に削除されます。

警告: [匿名ユーザーが生成したアプリの保存期間] がゼロ (0) に設定されている場合、アプリはできるだけ長く、すなわち 365 日間保存されます。

On-Demand アプリ サービスのシャット ダウン

On-Demand アプリ サービスは、Qlik Sense がシャット ダウンされている場合にのみオフになります。要求のペンディング中にサービスをオフにすることを避けるには、サービスのユーザーにオフになることを通知する必要があります。間違ってアプリ要求を中断しないようにするには、サービスを無効にして、ペンディング中の要求が終了するまで数秒間待機してから、シャット ダウンする必要があります。

ペンディング中の要求が存在するかどうかを調べるため、RootAdmin 権限を持つユーザーは、Web ブラウザーの URL 項目に次の URL を入力することができます。

https://yourhost.yourdomain.com/api/odag/v1/requests?state=qvhl&createdOnOrAfter=YYYY-MM-DDTHH:MI:SS.sssZ

ここで

yourhost.yourdomain.com は、お使いの Qlik Sense プロキシの URL です。

また、

YYY-MM-DDTHH:MI:SS.sssZ は、最新の On-Demand アプリ サービスのログ ファイルで最初のレコードの日付と時刻であり、サービスが最後に開始された時刻です。

これによって、On-Demand アプリを JSON 形式で生成する配列が返されます。これらは、最後に On-Demand アプリ サービスが開始された時点以降に開始され、まだ完了していない要求です。ペンディング中の要求がない場合は、ブラウザーでの応答は、次のように開き角括弧と閉じ角括弧として表示されます。

[ ]

シャット ダウン後にサービスを再起動すると、シャット ダウン発生時のステートで起動されます。サービスをシャット ダウン前に無効にした場合は、サービスの再起動後に再度有効にする必要があります。

警告: On-Demand アプリ サービスが強制的にシャット ダウンされたためにペンディング中の要求がキャンセルされた場合、これらの要求は失われ、回復することはできません。サービスを再起動して有効にしたときに、これらの要求を手動で再入力する必要があります。

On-Demand アプリの保存期間

ナビゲーション リンクを作成したときに、On-Demand アプリの保存期間を設定できます。On-demand アプリの作成」を参照してください。

保存期間は時間数または日数で指定でき、無期限に設定することも可能です。ナビゲーション リンクから生成されたすべての On-Demand アプリが、この設定に従って保持されます。生成された On-demand アプリの存在期間は、現在の時間および最後のデータ ロードの時間の差に相当します。On-demand アプリの存在期間のこの計算は、公開アプリと未公開アプリで同じです。On-demand アプリを生成してから手動で公開した場合、存在期間の計算は同じです。生成されたアプリの最後のデータ ロードに基づきます。

注: 匿名ユーザーが生成したアプリの保存期間は On-Demand App Service で設定します。この設定は、On-demand アプリのナビゲーション リンクで設定されている保存期間よりも優先します。上記の On-Demand App Service のプロパティの匿名ユーザー プロパティが生成したアプリの保存期間を参照してください。

On-Demand アプリ サービスは 10 分ごとにスイープを実行して、保存期間の切れた On-Demand アプリを削除します。スイープは 10 分ごとに実行されるので、On-Demand アプリはその保存設定よりも最大で 10 分間長くアクティブなままにできます。例えば、アプリの保存設定が 1 時間の場合、スイープの実行後間もなく保存期間が終了し、次のスイープまではアクティブなままになります。

保存期間はナビゲーション リンクの設定に基づきますが、アプリの生成後も保存期間は変わりません。ナビゲーション リンクの所有者が保存期間を変更した場合、この変更は、すでに生成されている On-Demand アプリには反映されません。

On-Demand アプリの所有権

On-Demand アプリの所有者は、アプリを生成したユーザーです。ただし、アプリの生成が完了するまではそのユーザーは所有者にはなりません。On-Demand アプリがデータのロードの処理中である間は、所有者は INTERNAL\sa_api です。これは、通常、ユーザーはテンプレート アプリが使用するデータ接続へのアクセス権を持たないからです。データ接続へのアクセスは、セキュリティ上の理由により制限されています。

On-Demand アプリの生成を完了できなかった場合、QMC にはアプリの所有者が INTERNAL\sa_api として表示されます。

生成されたアプリの所有権は、公開時に変更されます。生成されたアプリが公開されると、アプリの所有者はナビゲーション リンクの所有者となります。

注: 匿名ユーザーが生成したアプリはすべて公開する必要があるため、匿名ユーザーは生成されたアプリを所有しません。匿名ユーザーは、未公開アプリにはアクセスできません。ただし、匿名ユーザーが生成したアプリは、そのアプリを生成した匿名ユーザーに関連付けらた識別子によってタグ付けされます。それにより、ある匿名ユーザーは別の匿名ユーザーが生成したアプリを使用できなくなります。

On-Demand アプリの自動公開

ナビゲーション リンクには、リンクから生成されたアプリが自動的に公開されるストリームを、リンク作成者が指定できるようにするプロパティがあります。ナビゲーション リンクを作成するユーザーは、対象のストリームに公開する権限を持っている必要があり、アプリを生成するユーザーは、ストリーム上での読み取り権限を持っている必要があります。いずれの権限も見つからない場合、On-demand アプリは生成されません。

注: 匿名ユーザーが使用できるのは公開されたアプリのみであり、匿名ユーザーが自らアプリを公開することはできません。そのため、匿名ユーザーは、アプリを自動的に公開するナビゲーション リンクからのみアプリを生成できます。

ストリームに公開された On-demand アプリを生成したユーザーは、アプリを削除することはできません。ナビゲーション リンクの所有者のみが、ストリームから On-demand アプリを削除することができます。

マルチノード環境におけるリロードの制御

管理者は、マルチノード環境において On-demand アプリをリロードする場所を制御できます。負荷分散ルールは、個々のノード上のカスタム プロパティで設定します。アプリが特定のリロード サーバーを使用するよう、カスタム プロパティをアプリに設定することができます。

既定では、On-demand アプリは、環境の負荷分散ルールで設定されたリロード ノード上でロードされます。ただし、テンプレート アプリに対してカスタム プロパティを設定し、そのテンプレート アプリにリンクされているアプリがロードされる場所を制御することができます。

生成されたアプリにカスタム プロパティを適用し、特定のリロード ノードにそれらアプリが送られるようにすることもできます。生成されたアプリに設定したカスタム プロパティにより、生成元のノードとは異なる、テンプレート アプリに指定されたノードからアプリをリロードするよう指示することができます。カスタム プロパティは、生成された後の On-demand アプリに対して設定します。

負荷分散ルールを作成する

カスタム プロパティのある負荷分散ルールを作成する