Analytics Manager クエリ用のトランスフォーマーを作成する
再作業が保留中で、納期はありません。 Front App SDK (ReactJS) と Front API SDK (NodeJS) の両方が置き換えられます。このページは現在のリリースを文書化し、置き換えが出荷されるまで正確であり、維持されます。これに対して書かれたコードは引き続き動作します。
トランスフォーマーは、クエリが Analytics Manager に送信される直前に、クエリを拡張して変更します。
デフォルトのフローでは、デフォルトのトランスフォーマーは API のクエリモジュール (/forepaas/qb) によって呼び出され、クエリのフィルターとスケールに ダイナミックパラメータの値を注入するために使用されます。
典型的なユースケース
トランスフォーマーがどのように動作し、作成できるかをよりよく理解するために、データプロジェクトでよく見られる例を使用しましょう。
例えば、表示されるデータのほとんどが同じdate属性でフィルタリングされているとします。しかし、一部のテーブルにはdate属性ではなく、代わりにprevious_date属性があると想像してください。
デフォルトの動作では、このテーブルに対するクエリはこのクエリ用のテーブルが見つかりませんエラーを返します。
これを解決するには、カスタムトランスフォーマーが必要です。
カスタムトランスフォーマーを作成する
カスタムエンドポイントと同様に、新しいトランスフォーマーを作成するには、特定のディレクトリ:/src/qb/transformersにファイルを追加する必要があります。
クエリの各部分に対して3種類のトランスフォーマーが利用可能です:
filter:filter.jsファイルを作成できますdata:data.jsファイルを作成できますscale:scale.jsファイルを作成できます
上記のケースでは、./forepaas/qb/transformers/filter.jsからデフォルトのものをコピーして./src/qb/transformers/filter.jsを作成します
./src/qb/transformers/filter.js
トランスフォーマーは、少なくとも1つのdefaultメソッドを持つオブジェクトです。
このメソッドには、次のパラメータが渡されます:
query: 関数によって変更された完全なクエリreference: Front Appでダイナミックパラメータの構成で定義されたものvalue: Front Appによって渡された値
この関数は、クエリと共に渡された各ダイナミックパラメータに対して呼び出されます。
この時点で、Front API は同じ動作を維持し、デフォルトのものではなく、このカスタムトランスフォーマーを通過します。
Front App を構成する
これを踏まえて、通常のリクエストを見てみましょう。 ここにはチャートの構成があります:
生成されたHTTPSリクエストは、次のボディを持つ/qb/query/xyz123-xyz123-xyz123-xyz123-xyz123エンドポイントへのPOST呼び出しです:
必要な機能を得るためには、2つの点のみを変更する必要があります:
default: カスタム値、例えばchangeRefに変更する必要がありますparams: カスタムトランスフォーマーがそれを使用できるようにprevious_dateを含める必要があります。
dynamic-parameters構成により、これらの変更の両方を行うことができます。
チャートの構成に戻り、トランスフォーマーの種類は|を使用して設定され、paramsは:を使用して設定されます。
そして、POSTボディは次のようになります:
これで、filterトランスフォーマーでそれを処理する必要があります。
トランスフォーマーをカスタマイズする
オブジェクトにdefaultと同じ入力を取るchangeRefという新しいメソッドを実装する必要があります。上記のparams配列。
この場合、defaultメソッドを因数分解するのに適しています。そのため、changeRefはreferenceに対して異なるルールを使用してそれを呼び出すことで実装できます。
したがって、完全な/src/qb/transformers/filter.jsは次のようになります:
changeRefメソッドはdefaultTransformer関数を呼び出し、referenceを変更します。
変換を確認する
最後のステップは、クエリがchangeRefオプションを使用していることを確認することです。最終的に、チャートによって送信されるクエリのボディは次のようになります:
💡 これらの技術を
filter、scale、またはdataにFront App のダイナミックパラメータと組み合わせて使用することで、アプリを徹底的にカスタマイズできます!
さらに詳しく知る
ソリューションを実装するためのトレーニングや技術サポートが必要な場合は、営業担当者にお問い合わせください、またはこのリンクをクリックして、プロフェッショナルサービスの専門家に見積もりを依頼し、プロジェクトのカスタム分析を依頼してください。
質問をする、フィードバックを送信する、およびData Platformを構築しているチームと直接交流するには、専用のDiscordチャネルにアクセスしてください。
OVHcloudサービスについてサポートが必要な場合は、ヘルプセンターでリクエストを作成してください。
ユーザーコミュニティに参加してください。

