高度なポリシー移行の例
この例では、より複雑なポリシーを移行する方法を説明します。
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience |
| 使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition Salesforce Shield または Salesforce Event Monitoring アドオンサブスクリプションが必要です。 |
このトピックの従来のサンプルポリシーは、リードデータエクスポートポリシーに似ていますが、2 つの重要な違いがあります。このポリシーは、リードのみを監視するのではなく、複数の異なるオブジェクト種別を監視します。また、エクスポート制限の 2,000 レコードをハードコード化するのではなく、異なるオブジェクト種別ごとに異なる制限を定義します。
エクスポート制限は、TransactionSecurityLimit__mdt というカスタムメタデータ型に保存されます。この型には次の 2 つの項目が含まれます。
- Object_Type__c (選択リスト) — オブジェクト種別
- Limit_Value__c (数値 (18,0)) — このオブジェクト種別でユーザにエクスポートが許可される最大レコード数
従来のポリシーは、このカスタムメタデータ型を照会して各オブジェクト種別のエクスポート制限値を動的に判断します。
拡張ポリシーでは、TransactionSecurityLimit__mdt カスタムメタデータ型を照会するロジックの大半を再利用できます。主な違いは、エクスポート制限を照会する対象のエンティティの名前を取得するコードです。従来のポリシーでは data Map の EntityName キー値を使用します。拡張フレームワークでこれに相当するのが QueriedEntities です。ただし、拡張フレームワークではすべての標準オブジェクトとカスタムオブジェクトでエクスポートがサポートされるため、QueriedEntities 項目に複数のエンティティ名が含まれる可能性があります。そのため、照会されるエンティティのカンマ区切りリストを取り込み、エンティティ名の List に分離します。