使用Adobe I/O啟用及設定目錄事件
目錄事件是電腦產生的通知,說明可透過Catalog Service使用的受支援目錄變更。 它們可啟用事件導向的工作流程,例如:
- 讓外部快取或服務與目錄更新保持同步。
- 產品、變體、價格或類別變更時觸發下游流程。
- 支援Experience Edge和需要近乎即時目錄更新的Edge Delivery Services使用案例。
如需從Adobe Commerce到您的事件消費者的端對端路徑,請參閱透過 Adobe I/O Events的事件傳遞。
支援的事件型別 supported-event-types
目錄活動著重於透過Adobe Developer Console公開的店面相關變更。 目前支援的訂閱如下。
每個事件包含:
- 描述變更型別的事件識別碼。
- 實體和環境內容,例如例項ID和SKU。
- 說明已變更的實體和相關範圍資訊的裝載。
範例事件裝載
ProductUpdated事件
{
"imsOrgId": "aaa-0",
"instanceId": "instance-9",
"eventCode": "productUpdated",
"sku": "1234",
"links": [
{"type": "variantOf", "sku": "5678"}
],
"scope": [
{ "storeViewCode": "US-us" },
{ "storeViewCode": "FR-fr" },
{ "storeViewCode": "DE-de" }
]
}
PriceUpdated事件
{
"imsOrgId": "aaa-0",
"instanceId": "instance-9",
"eventCode": "priceUpdated",
"sku": "1234",
"scope": [
{
"websiteCode": "website1",
"customerGroupCode": "customer-group-code1"
},
{
"websiteCode": "website2",
"customerGroupCode": "customer-group-code2"
}
]
}
透過Adobe I/O Events傳遞事件 event-delivery-through-adobe-io-events
Adobe I/O Events會將目錄事件傳送給您的整合。 下圖顯示從Adobe Commerce到Catalog Service和Adobe I/O Events的目錄變更高層級流向已訂閱的消費者:
下列步驟將更詳細地說明每次移交:
- Adobe Commerce →目錄服務
Adobe Commerce使用支援的SaaS Data Export延伸模組將目錄資料匯出至Catalog Service。
-
目錄服務正在處理
- Catalog Service個處理支援的目錄變更,並為事件傳遞準備這些變更。
-
→目錄服務
- 目錄事件已發佈至Adobe I/O Events。
- 消費者使用日誌、webhook、Adobe I/O Runtime、Amazon EventBridge或其他支援的傳遞機制來訂閱。
Adobe I/O Events提供:
- 每個訂閱者至少傳送一次 (可能有重複的事件)。
- 不同傳遞之間不提供訂購保證。
您的消費者必須處理重複事件和順序錯亂的傳遞。 如需實作指南,請參閱Idempotency。
使用案例 use-cases
您可在多個案例中使用目錄事件。
靜態網站和邊緣傳送
- 目錄資料變更時,重新產生或失效目錄頁面和店面片段。
- 避免頻繁輪詢Catalog Service API。
搜尋索引和快取
- 觸發下游搜尋索引中的累加更新。
- 當產品或類別資料變更時,更新快取圖層或目錄的外部檢視。
與外部系統整合
- 將目錄變更轉寄給外部系統,例如PIM、訂價引擎或其他業務線系統。
- 保持下游應用程式同步化而不需直接存取資料庫。
監視和可觀察性
將目錄事件與現有的監視(例如,Grafana與Prometheus)結合為:
- 監視事件輸送量。
- 偵測目錄更新磁碟區中的異常。
啟用目錄事件 enable-catalog-events
若要啟用端對端的目錄事件,請依照下列步驟操作。
- 支援的Adobe Commerce環境已啟用Catalog Service。
- 已為Adobe Commerce設定 Adobe I/O 連線。
- 存取布建Commerce環境的相同IMS組織中的Adobe Developer Console。
- 若要確認同步處理至Commerce SaaS服務,請在[管理]中使用Data Management Dashboard。
- 儀表板驗證需要Product Recommendations v6.0、Live Search v4.1.0+或Catalog Service v1.17+。 Adobe建議將您的Commerce專案更新至這些服務的最新支援版本。 對於舊版服務,請使用目錄同步進行同步驗證。
驗證目錄資料 verify-catalog-data
在設定之前,請先確認Catalog Service擁有您Commerce執行個體目前的目錄資料。 目錄事件取決於SaaS Data Export完成兩個階段 — 確認兩者:
註冊並訂閱Adobe I/O Events register-events
定義要訂閱的Commerce事件,然後在專案中註冊這些事件。
如果您的執行個體不在選取專案清單中,則它未連線到Adobe I/O。 如需修正問題的指示,請參閱 Adobe Commerce Developer 檔案中的設定 Adobe I/O 連線。
-
從Adobe Developer Console,登入用於Commerce專案的相同IMS組織。
-
為Commerce目錄事件建立專案,或將事件API新增至現有專案。
-
在頂端導覽列中選取APIs and services。
-
在 Browse APIs and services 頁面上,選取 Events 索引標籤。
-
快速尋找Commerce Catalog Events API。 在搜尋方塊中輸入目錄,或依 Commerce 產品篩選。
-
在 Commerce Catalog Events 卡片上,選取Project。
在[瀏覽API和服務]頁面上選取的
{width="600" modal="regular"}
-
-
設定事件註冊。
選取要從中接收事件通知的Commerce執行個體。 然後,選取Next。
在事件註冊畫面上選取
{width="600" modal="regular"}
-
選擇要訂閱的事件。
選取您想要接收的支援事件訂閱,例如 Product Update 或Price Update。 然後,選取Next。
在註冊畫面上選取要訂閱的
{width="600" modal="regular"}
-
新增OAuth伺服器對伺服器認證。
輸入Credential name。 然後,選取Next。
-
輸入 Event registration name 和Event registration description。 然後,選取Next。
-
在最後的註冊畫面中,接受預設消費者,即Journaling API。
預設日誌API取用者可讓您測試事件註冊,並確認已傳送事件。 如果您已設定webhook或Adobe I/O Runtime動作使用者,請在此處選取它。 否則,稍後當您的消費者準備好時,請編輯事件註冊。
{width="600" modal="regular"}
-
選取Complete registration。
設定事件取用者 configure-consumer
-
設定取用者,例如:
- webhook端點
- Adobe I/O Runtime動作
- 另一個支援的目的地
-
如果您未在註冊期間選取消費者,請編輯事件註冊以新增消費者詳細資訊。
-
從Adobe Developer Console編輯您的專案。 然後,選取您建立的事件註冊。
-
在事件註冊詳細資訊頁面上,選取Edit Events Registration。
-
選取Next,直到您到達消費者選取畫面為止。 然後,選取您設定的消費者。
-
將消費者更新至您設定的目的地。 然後,選取Save configured events。
-
驗證事件流程 validate-event-flow
已為您的環境啟用目錄事件。 當Commerce中的目錄資料變更時,更新會流經Catalog Service至Adobe I/O Events,而您訂閱的消費者會收到對應的目錄事件。 在建立生產整合之前,請檢閱限制和最佳實務。
-
進行簡單的支援目錄變更,例如更新產品名稱或變更價格。
-
確認下列結果:
- 透過Catalog Service API可以看到變更。
- 您的Adobe I/O Events消費者會收到對應的產品或價格事件。
限制和最佳實務 limits-and-best-practices
在建立目錄事件時,請遵循這些最佳實務。
冪等性 idempotency
Adobe I/O Events可以傳遞相同目錄事件多次,而單一產品的事件可能會未依順序送達。 設計等冪的消費者,方法如下:
- 搭配版本或時間戳記欄位使用實體ID。
- 安全地忽略相同變更的重複通知。
輸送量和背壓
更新率高的大型目錄可能會產生大量的事件量。 請確定:
- 消費者可以在尖峰輸送量處理事件。
- 您可以視需要使用緩衝、批次處理或佇列。
安全性與隔離
- Adobe I/O Events強制執行租使用者隔離。
- 您的組織只會接收其自身環境和權益的事件。
結構描述演變
目錄事件裝載遵循與Catalog Service API相同的概念模型。 若要保持向前相容:
- 儘可能避免嚴格執行結構描述。
- 忽略未知的欄位而不是失敗。
疑難排解目錄事件 troubleshoot-catalog-events
如果目錄事件遺失或延遲,請完成以下步驟。
-
檢查目錄服務資料
使用 Catalog Service API確認已成功儲存目錄變更。
-
驗證SaaS Data Export
目錄事件需要Catalog Service中的目前資料。 確認匯出路徑的兩個階段:
-
從Commerce匯出摘要 — 在資料摘要同步狀態頁面或
var/log/saas-export.log中,確認Catalog Service摘要已成功從Commerce匯出。 -
同步處理至連線的Commerce SaaS服務 — 在資料管理儀表板、目錄同步或匯出記錄檔中,確認資料已成功同步處理至Catalog Service。
如需疑難排解匯出和同步處理工作,請參閱使用SaaS資料匯出同步處理資料和記錄及疑難排解。
-
-
驗證Adobe I/O Events組態
確認:
- 您已在Adobe Developer Console中登入正確的IMS組織。
- Commerce Catalog Events提供者已啟用。
- 預期的 Commerce Catalog Events 提供者和環境是可見的。
- 訂閱為作用中。
- 您的端點、動作或日誌取用者可以接收及處理測試事件。
-
連絡Adobe支援
開啟支援票證時,請選取與 Adobe Commerce應用程式 對應的問題原因,並包含下列資訊:
- 目錄服務詳細資料(環境、地區)。
- Adobe I/O Events訂閱詳細資料。
- 遺失事件的近似時間和說明。
如需其他說明,請參閱支援票證。