はじめに
前回のブログでは「SalesforceにおけるBig Objectの特徴」をご紹介いたしました。
今回のブログでは、Spring’19リリースからUIで作成可能となった(以前はメタデータAPIでしか作成できませんでした)Big Objectの定義・作成の方法をより詳しくご紹介したいと思います。
ではBig Objectの定義・作成を実施してみましょう。
購入履歴Big Objectについて
今回作成するオブジェクトでは以下の情報管理します。
No | 項目名 | API参照名 | インデックス | データ型 | 備考 |
---|---|---|---|---|---|
1 | 購入日時 | Purchase_DateTime__c | チェック | テキスト(8) | インデックス:ASC |
2 | 支払日 | Payment_Date__c | 日付/時間 | ||
3 | 支払方法 | Payment_Method__c | テキスト(10) | ||
4 | 取引先責任者 | Contact__c | チェック | 参照関係(取引先責任者) | インデックス:ASC |
5 | 商品コード | Product_Code__c | チェック | テキスト(20) | インデックス:ASC |
6 | 商品名 | Product_Name__c | テキスト(255) | ||
7 | 数量 | Quantity__c | 数値(8、0) | ||
8 | 単価 | Unit_Price__c | 数値(8、0) | ||
9 | 備考 | Remarks__c | ロングテキストエリア(300) |
Big Objectの作成
実際にカスタムBig Objectを作成したいと思います
手順:[設定] ⇒ [管理] ⇒ [データ] ⇒ [Big Object ] ⇒
[New] ⇒ [表示ラベル][オブジェクト名]を入力
【考慮事項】
- インデックスが1つ以上ないとオブジェクトは開発中となります。
- オブジェクトのAPI参照名は「__c」ではなく「__b」が付与されるため、クエリ使用時に注意する必要があります。
- 削除されたカスタム Big Object は 15 日間保存されます。その期間中は、そのカスタム Big Object を復元するか完全に削除することができますが、 15 日間を過ぎると完全に削除されます。
項目の作成
次にカスタム項目を作成していきます。
大量データの取り扱いになるため、設定可能なデータ型が標準オブジェクトより少なくなっています。その他は、基本的には標準オブジェクトにカスタム項目を追加する要領と同じとなります。
※Big Objectには標準項目は含まれていません。
【使用可能なデータ型】
- URL
- テキスト
- メール
- ロングテキストエリア
- 数値
- 電話
【考慮事項】
- インデックスには合計で最大 5 個のカスタム項目を含めることができます。
- 数式、主従、積み上げ集計、選択リストなどはデータ型としてサポート外となります。
- Big Objectのインデックスを作成するには、少なくとも 1 つのカスタム項目を、必須とする必要があります。
- ロングテキストは255文字以下に設定できません。
- 一度作成した項目は削除することができません。
- 一度設定した桁数を変更することができません。
インデックスの設定
最後にインデックスを作成します。
インデックスで定義された項目によって、クエリが可能かどうか決まります。
また、レコードを一意に特定できる複合主キーで、SOQLのクエリ条件として使用できる項目となります。
使用する項目は入力必須となるため、設計方針はこの時点で決めておく必要があります。
優先順位は「インデックスの位置」という項目で設定することができます。
【考慮事項】
- インデックスは全ての項目の文字数が100を超えるとエラーとなります。
以下の場合は合計が110(60+30+20)となるためエラーとなります。
例)
インデックス1:商品名(テキスト(60))
インデックス2:型番(数値(30))
インデックス3:管理番号(数値(20)) - ロングテキストエリア項目はインデックスに含めることはできません。
- インデックスは編集または削除することはできません。
インデックスを変更するには、別のBig Object作成して新しいインデックスを指定します。
最後に
Big Objectの作成時は、リリース状況は「開発中」しか選べませんが、カスタム項目とインデックスを定義すると、「リリース済み」も選べるようになっています。
これでSalesforceの組織でBig Objectが使用可能になります。
次の記事ではBig ObjectのSOQLの方法についてご紹介いたします。