App Analytics クエリ戦略はどのように計画すべきですか?
| 使用可能なインターフェース: Salesforce Classic と Lightning Experience の両方 |
| 使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition |
- データ結果の FileType 値を選択し、対応する FileCompression を選択します。これにより、csv ファイルの場合は gzip の圧縮、parquet ファイルの場合は snappy の列圧縮を要求できます。
- 定期的にスケジュールされる自動化クエリを作成します。
- 遅れて到着するデータをまとめて取り込むには、AvailableSince 項目を使用してキャッチアップクエリを作成します。
結果ファイルの圧縮
App Analytics クエリ計画は、結果ファイルの種別とファイル圧縮が出発点となります。データは時間とスペースを大量に消費する場合があるため、ダウンロードするファイルの種別を指定して効率化を図ります。データのダウンロード時間を削減するには、結果ファイルの圧縮方法を指定します。
ファイルの種別もファイルの圧縮も指定しない場合、結果ファイルは、下位互換性を確保するため、圧縮なしの csv にデフォルト設定されます。ファイルの種別として parquet を選択した場合、結果ファイルには、各列のデータ型の情報が含まれます。
結果ファイルは常に圧縮することをお勧めします。これらの SOAP API AppAnalyticsQueryRequest FileType と FileCompression 値の組み合わせから選択します。
| FileType | FileCompression |
|---|---|
| csv (デフォルト) |
|
| parquet |
|
クエリのスケジュールおよび自動化
実行するクエリとクエリの実行頻度を決定したら、クエリのスケジュールを設定する必要があります。最も簡単な方法は自動化です。
自動化とは何を意味するのでしょうか。自動化とは、スケジュールに基づいてクエリ要求レコードを作成する、作成したレコードを監視する、データを取得する、AppExchange の App Analytics データを特定の場所に保存するといった作業を、コードを記述して行うことです。たとえば、カスタムオブジェクトのデータをライセンス管理組織に保存することができます。
- REST または SOAP API コールを使用したカスタム API インテグレーション
- CLI を使用した Salesforce DX の自動化
- Salesforce フロー
- Apex のトリガ
たとえば、Apex トリガを使用して、パッケージ利用状況概要を自動的に取得します。
パッケージ利用状況ログデータも自動的に取得したい場合は、ログに含まれるデータボリュームに応じて拡大・縮小する別のストレージソリューションを検討します。
キャッチアップクエリの作成
キャッチアップクエリは、データレイクに新たに追加されるデータを取り込むためのほうきのようなものです。キャッチアップクエリは、すでに使用可能な通常のクエリを利用します。
たとえば、2021 年 3 月 2 日 18:00 UTC に、次に示す通常のクエリを実行して、2021 年 3 月 1 日のパッケージ利用状況ログデータを取得します。
1sfdx force:data:record:create
2--sobjecttype AppAnalyticsQueryRequest
3--values "StartTime=2021-03-01T00:00:00Z
4EndTime=2021-03-02T00:00:00Z
5DataType=PackageUsageLog
6FileType=csv
7FileCompression=gzip"まったく同じクエリを 2021 年 3 月 3 日 18:00 UTC に再実行します。ただし、AvailableSince 項目を追加して、元のクエリを実行した日時である 2021-03-02T18:00:00Z に設定します。このクエリがアドホックキャッチアップクエリです。3 月 2 日に通常のクエリが実行されて以降データレイクに新しく追加されたデータを取得します。
1sfdx force:data:record:create
2--sobjecttype AppAnalyticsQueryRequest
3--values "StartTime=2021-03-01T00:00:00Z
4EndTime=2021-03-02T00:00:00Z
5DataType=PackageUsageLog
6FileType=csv
7FileCompression=gzip
8AvailableSince=2021-03-02T18:00:00Z"キャッチアップクエリはさまざまな方法で使用できますが、詳細は、「おすすめ」セクションで説明します。
- StartTime が指定されている場合、AvailableSince の日付は、それより後に設定する必要があります。
- EndTime が指定されている場合、AvailableSince の日付は、それより後に設定する必要があります。
- すべてのクエリには、StartTime と AvailableSince のいずれか、または両方を含める必要があります。
- AvailableSince は、現在より前に設定する必要があります。