Loading
關係標記法與多個解壓縮步驟

關係標記法與多個解壓縮步驟

使用關係標記法可改善 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 查詢提供額外費用。若是一次查詢而非兩次,則您的額外負擔為一半。

 
正在載入
Salesforce Help | Article