Adobe I/Oでのカタログイベントの有効化と設定

カタログイベントは、Catalog Serviceを通じて使用可能になった、サポートされているカタログの変更を説明する機械生成の通知です。 これらのツールは、次のようなイベント駆動型ワークフローを実現します。

  • 外部キャッシュまたはサービスをカタログの更新と同期させる。
  • 製品、バリエーション、価格、カテゴリーが変更されたときに下流プロセスをトリガーします。
  • ほぼリアルタイムのカタログ更新を必要とする、Experience EdgeとEdge Delivery Servicesのユースケースを強化しています。

Adobe Commerceからイベントコンシューマーへのエンドツーエンドのパスについては、​ イベント配信から Adobe I/O Eventsを参照してください。

サポートされているイベントタイプ supported-event-types

カタログイベントは、Adobe Developer Consoleを通じて公開されたストアフロント関連の変更に焦点を当てています。 現在、次のサブスクリプションがサポートされています。

購読
イベント
製品アップデート
Catalog Serviceを通じて利用可能な製品の変更を作成、更新、削除する
価格更新
ストアフロントのカタログデータに影響を与える変更の価格作成、更新、削除

各イベントには、次のものが含まれます。

  • 変更タイプを説明するイベント ID。
  • インスタンス 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 I/O Eventsを通じて、購読済み消費者に対してカタログイベントの高レベルのフロー

以下の手順では、各ハンドオフについて詳しく説明します。

  1. Adobe Commerce → Catalog Service

Adobe Commerceは、サポートされているSaaS データ書き出し拡張機能を使用して、カタログデータをCatalog Serviceに書き出します。

  1. カタログサービス処理

    • Catalog Service件のプロセスがカタログの変更をサポートし、イベントの配信用に準備しました。
  2. カタログサービス → Adobe I/O Events

  • カタログイベントはAdobe I/O Eventsに公開されます。
  • 消費者は、ジャーナリング、webhook、Adobe I/O Runtime、Amazon EventBridge、またはその他のサポートされている配信メカニズムを使用して購読します。

Adobe I/O Eventsの提供:

  • 購読者ごとに​少なくとも1回の配信 (重複イベントが可能)。
  • 配送をまたいだ注文保証はありません。

消費者は、重複したイベントや不定期な配信に対応する必要があります。 実装ガイダンスについては、Idempotencyを参照してください。

ユースケース use-cases

カタログイベントは、複数のシナリオで使用できます。

静的なサイトとエッジ配信

  • カタログデータが変更されたときに、カタログページとストアフロントフラグメントを再生成または無効化します。
  • Catalog Service個のAPIに対する頻繁なポーリングは避けてください。

検索のインデックス作成とキャッシュ

  • 下流の検索インデックスの増分更新をトリガーします。
  • 製品またはカテゴリデータが変更されたときに、カタログのキャッシュレイヤーまたは外部ビューを更新します。

外部システムとの統合

  • カタログの変更を、PIM、価格設定エンジン、その他の基幹システムなどの外部システムに転送します。
  • データベースに直接アクセスすることなく、アプリケーションを同期できます。

監視と監視

カタログイベントを既存の監視(例:GrafanaおよびPrometheus)と組み合わせて、次の操作を行います。

  • イベントのスループットの監視:
  • カタログの更新量の異常値を検出します。

カタログイベントの有効化 enable-catalog-events

カタログイベントをエンドツーエンドで有効にするには、次の手順に従います。

PREREQUISITES
カタログイベントを有効にする前に、次のことを確認してください。
  • Catalog Serviceが有効になっている、サポートされているAdobe Commerce環境。
  • Adobe Commerce用に Adobe I/O 接続が構成されています。
  • Commerce環境がプロビジョニングされている同じIMS組織内のAdobe Developer Consoleへのアクセス。
  • Commerce SaaS サービスへの同期を確認するには、管理者で​ Data Management Dashboard ​を使用します。
  • ダッシュボードの検証には、製品レコメンデーション v6.0、Live Search v4.1.0以降、またはCatalog Service v1.17以降が必要です。 Adobeでは、Commerce プロジェクトを、サポートされている最新バージョンのサービスにアップデートすることをお勧めします。 以前のバージョンのサービスの場合は、​ カタログ同期を使用して同期検証を行います。
NOTE
カタログイベントを使用するには、まずAdobe I/O Events用にCommerce環境を設定し、次にAdobe Developer Consoleにイベントサブスクリプションを登録します。
設定後に環境がAdobe Developer Consoleに表示されない場合は、正しいIMS組織にサインインしていること、およびアカウントに必要なアクセス権があることを確認してください。 それでも環境が表示されない場合は、Adobe サポートにお問い合わせください。

カタログデータの検証 verify-catalog-data

設定する前に、Catalog ServiceがCommerce インスタンスからの現在のカタログ データを持っていることを確認してください。 カタログイベントは、SaaS Data Exportが2つのステージを完了するかどうかによって異なります。両方​を確認してください。

  1. Commerce からの フィードの書き出しが正常に完了したことを確認します。

    Adobe Commerce管理者から、​ データフィード同期ステータス ​ ページ (System > Data Transfer > Data Feed Sync Status)を開き、Catalog Service個のフィードごとに最後の書き出しステータスが成功したことを確認します。

  2. Adobe Commerce管理者から接続されたCommerce サービス への​同期が正常に完了したことを確認します。

    Adobe Commerce管理者から、​ データ管理ダッシュボード ​System > Data Transfer > Data Management Dashboard)を開き、同期された製品データに必要な製品が含まれていることを確認します。

Adobe I/O Eventsに登録して購読 register-events

サブスクライブするCommerce イベントを定義し、プロジェクトに登録します。

インスタンスが選択リストに含まれていない場合は、Adobe I/Oに接続されていません。 この問題を解決する手順については、Adobe Commerce Developer ドキュメントのConfigure the Adobe I/O connectionを参照してください。

  1. Adobe Developer Consoleから、Commerce プロジェクトに使用されているのと同じIMS組織にログインします。

  2. Commerce カタログイベント用のプロジェクトを作成するか、イベント APIを既存のプロジェクトに追加します。

    • 上部のナビゲーションで「APIs and services」を選択します。

    • Browse APIs and services ページで、「Events」タブを選択します。

    • Commerce Catalog Events APIを迅速に検索します。 検索ボックスに「カタログ」と入力するか、商品​ Commerce ​で絞り込みます。

    • Commerce Catalog Events カードで、Project​を選択します。

    Commerce カタログイベントプロバイダーが「APIとサービスを参照」ページで選択されました {width="600" modal="regular"}

  3. イベント登録を設定します。

    イベント通知を受け取るCommerce インスタンスを選択します。 次に、Next​を選択します。

    イベント登録画面で Commerce インスタンスが選択されました {width="600" modal="regular"}

  4. 購読するイベントを選択します。

    受信するサポートされているイベント サブスクリプション(Product Update​または​ Price Update ​など)を選択します。 次に、Next​を選択します。

    登録画面で ​ サブスクリプション用に選択されたイベントカテゴリ ​ {width="600" modal="regular"}

  5. OAuth サーバー間資格情報を追加します。

    Credential name​を入力します。 次に、Next​を選択します。

  6. Event registration name​と​ Event registration description ​を入力します。 次に、Next​を選択します。

  7. 最終的な登録画面で、デフォルトのコンシューマーであるJournaling APIを受け入れます。

    デフォルトのJournaling API コンシューマーでは、イベント登録をテストし、イベントが配信されていることを確認できます。 WebhookまたはAdobe I/O Runtime個のアクションコンシューマーを既に設定している場合は、ここで選択します。 それ以外の場合は、消費者の準備が整ったら、後でイベント登録を編集します。

    イベント登録完了画面で Journaling API コンシューマーのデフォルトが選択されました {width="600" modal="regular"}

  8. Complete registration​を選択します。

イベントコンシューマーの設定 configure-consumer

  1. 次のようなコンシューマーを設定します。

    • Webhook エンドポイント
    • Adobe I/O Runtime アクション
    • サポートされている別の宛先
  2. 登録中に消費者を選択しなかった場合は、イベント登録を編集して消費者の詳細を追加します。

    • Adobe Developer Consoleから、プロジェクトを編集します。 次に、作成したイベント登録を選択します。

    • イベント登録の詳細ページで、Edit Events Registration​を選択します。

    • コンシューマー選択画面に到達するまで​ Next ​を選択します。 次に、設定したコンシューマーを選択します。

    • 設定した宛先にコンシューマーを更新します。 次に、Save configured events​を選択します。

イベントフローの検証 validate-event-flow

カタログイベントは、環境に対して有効になっています。 Commerceでカタログデータが変更されると、更新はCatalog ServiceからAdobe I/O Eventsに流れ、購読者の消費者は対応するカタログイベントを受け取ります。 実稼動統合を構築する前に、制限とベストプラクティス ​を確認してください。

  1. 商品名の更新や価格の変更など、サポートされている単純なカタログを変更します。

  2. 次の結果を確認します。

    • 変更はCatalog Service APIを通じて表示されます。
    • お客様のAdobe I/O Events コンシューマーは、対応する製品または価格イベントを受け取ります。

制限事項とベストプラクティス limits-and-best-practices

カタログイベントを作成する場合は、次のベストプラクティスに従います。

Idempotency idempotency

Adobe I/O Eventsは同じカタログ イベントを複数回配信でき、1つの製品のイベントは注文をキャンセルできます。 次のような能力を顧客向けに設計:

  • バージョンまたはタイムスタンプフィールドでエンティティ IDを使用する。
  • 同じ変更に対して重複する通知を安全に無視します。

スループットとバックプレッシャー

更新率が高い大規模なカタログは、大きなイベント量を生み出す可能性があります。 次のことを確認します。

  • 消費者は、ピーク時のスループットでイベントを処理できます。
  • 必要に応じて、バッファリング、バッチ、キューを使用します。

セキュリティと分離

  • Adobe I/O Eventsでは、テナント分離​が適用されます。
  • 組織は、独自の環境と使用権限に対してのみイベントを受け取ります。

スキーマの進化

カタログイベントペイロードは、Catalog Service APIと同じ概念モデルに従います。 前方互換性を維持するには:

  • 可能な限り、厳格なスキーマ適用を避けます。
  • 失敗する代わりに、不明なフィールドを無視します。

カタログイベントのトラブルシューティング troubleshoot-catalog-events

カタログイベントが欠落または遅延している場合は、次の手順に従います。

  1. カタログサービスデータを確認

    ​ Catalog Service APIを使用して、カタログの変更が正常に保存されていることを確認します。

  2. 確認SaaS Data Export

    カタログイベントにはCatalog Serviceの現在のデータが必要です。 エクスポートパスの両方のステージを確認します。

    書き出しと同期のジョブのトラブルシューティングについては、​ データとSaaS データの書き出しの同期および​ ログとトラブルシューティング ​を参照してください。

  3. 設定Adobe I/O Eventsを検証

    次のことを確認します。

    • Adobe Developer Consoleの正しいIMS組織にログインしています。
    • Commerce Catalog Events プロバイダーが有効になっています。
    • 予想される​Commerce Catalog Events プロバイダーと環境が表示されます。
    • サブスクリプションはアクティブです。
    • エンドポイント、アクション、またはジャーナルコンシューマーは、テストイベントを受信して処理できます。
  4. Adobe サポートへのお問い合わせ

    サポートチケットを開く際に、Adobe Commerce アプリケーション​に対応する問題の理由を選択し、次の情報を含めます。

    • カタログサービス詳細(環境、地域)。
    • Adobe I/O Events サブスクリプションの詳細。
    • 欠落しているイベントの概算の時間と説明。

    詳細なヘルプについては、​ サポートチケット ​を参照してください。

recommendation-more-help
commerce-help-catalog-service