您位於此處:
關係標記法與多個解壓縮步驟
使用關係標記法可改善 Omnistudio 資料對應器的效能,這些資料對應器會從主要物件的父系提取資料。將此標記法用於父系物件的欄位,而非在「資料對應器」的「解壓」索引標籤中新增第二個物件。
「資料對應器」中的關係標記法以 Salesforce 中的關係查詢為基礎。如需關於關係名稱和其他相關主題的詳細資訊,請參閱 Salesforce 說明中的 關係查詢。您只能在「資料對應器」上使用子系與父系關係查詢。
假設您想要取回「連絡人」資料,其中包含與「連絡人」相關聯的「帳戶」名稱,且「帳戶」是「連絡人」的父系物件。您可以使用多個解壓縮步驟或關係標記法。
若要使用多個解壓縮步驟,請先在「資料對應器」的「解壓縮」索引標籤上定義「連絡人」和「帳戶」物件的解壓縮步驟。接著,針對「連絡人」和「帳戶」欄位定義「解壓縮 JSON」路徑。
若要使用關係標記法,請先在「資料對應者」的「解壓」索引標籤上為「連絡人」物件定義解壓縮步驟。接著,針對「連絡人」和「帳戶」欄位定義「解壓縮 JSON」路徑。
「帳戶」物件之「名稱」欄位的「解壓縮 JSON 路徑」為 Account.Name。Account 是「連絡人」物件與父系「帳戶」物件之間的關係名稱。關係名稱與參照父系物件的欄位名稱不同,其為 AccountId。標準物件的大多數關係名稱皆遵循此慣例,並忽略 Id 尾碼。
如果您在「預覽」索引標籤上提供「連絡人識別碼」,則您會針對兩個資料對應器取得相同的「連絡人」回應:
{
"CompanyName": "Acme",
"LastName": "Tomlin",
"FirstName": "Leanne"
}不過,如果您在「除錯記錄」中查看,則會看見兩個使用多個解壓縮步驟之「資料對應器」的 SOQL 查詢:
SELECT id, accountid, firstname, lastname, name FROM Contact WHERE (Id = '0031U00000HUob9QAD')
SELECT id, name FROM Account WHERE (Id = '0011U00000KbYZAQA3')
對於使用關係標記法的「資料對應器」,您只會看見一個 SOQL 查詢:
SELECT id, firstname, lastname, account.name FROM Contact WHERE (Id = '0031U00000HUob9QAD')
針對每個主要物件僅執行一個 SOQL 查詢的速度會比執行兩個 SOQL 查詢快很多。「資料對應工具」會針對其執行的每個 SOQL 查詢執行處理步驟,而 Salesforce 也會針對每個 SOQL 查詢提供額外費用。若是一次查詢而非兩次,則您的額外負擔為一半。
