[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

Adobe Commerce パッケージのインストール

Commerceのこの統合により、Adobe CommerceとAdobe Experience Manager Assets(AEM Assets)間のアセットを同期できます。 この拡張機能は、両方のプラットフォームで製品画像、ビデオ、その他のメディアアセットを管理するための一連のツールとサービスを提供します。

aem-assets-integration PHP 拡張機能をインストールすることにより、この拡張機能をCommerce環境に追加します。 また、Adobe CommerceのAdobe I/O Eventsを有効にして、CommerceとAdobe Experience Manager Assets間の通信およびワークフローに必要な資格情報を生成する必要があります。

アクセス要件

CommerceとAEM Assetsの統合を有効にするには、以下の役割と権限が必要です。

TIP
Adobe Commerceは、Adobe IMS認証 ​ を使用するように設定できます。

インストールと設定のワークフロー

Adobe Commerce パッケージをインストールし、次のタスクを実行してCommerce環境を準備します。

AEM Assets Integration 拡張機能のインストール

Adobe Commerce 2.4.5 以降のバージョンのAdobe Commerce インスタンスに、最新バージョンのAEM Assets Integration Extension (aem-assets-integration)をインストールします。 拡張機能は、repo.magento.com リポジトリからコンポーザメタパッケージとして提供されます。

クラウドインフラストラクチャ

Commerce Cloud インスタンスに AEM Assets Integration 拡張機能をインストールするには、この方法を使用します。

  1. ローカルワークステーションで、Adobe Commerce on cloud infrastructure プロジェクトのプロジェクトディレクトリに移動します。

    note note
    NOTE
    Commerce Adobe Commerce プロジェクト環境のローカル管理について詳しくは、​ クラウドインフラストラクチャユーザーガイドの ​CLI を使用したブランチの管理 を参照してください
  2. Adobe Commerce Cloud CLI を使用して更新する環境ブランチを確認します。

    code language-shell
    magento-cloud environment:checkout <environment-id>
    
  3. AEM Assets Integration for Commerce拡張機能を追加します。

    code language-shell
    composer require "magento/aem-assets-integration" "<version-tbd>" --no-update
    
  4. パッケージの依存関係を更新します。

    code language-shell
    composer update "magento/aem-assets-integration"
    
  5. composer.json ファイルと composer.lock ファイルのコード変更をコミットしプッシュします。

  6. composer.json ファイルと composer.lock ファイルのコード変更を追加、コミットし、クラウド環境にプッシュします。

    code language-shell
    git add -A
    git commit -m "Install AEM Assets Integration extension for Adobe Commerce"
    git push origin <branch-name>
    

    更新をプッシュすると、Commerce クラウドデプロイメントプロセス ​ が開始され、変更が適用されます。 ​ デプロイメントログ ​ からデプロイメントステータスを確認します。

オンプレミス

オンプレミスのインスタンスに AEM Assets Integration 拡張機能をインストールするには、この方法を使用します。

  1. Composer を使用して、AEM Assets Integration for Commerce拡張機能をプロジェクトに追加します。

    code language-shell
    composer require "magento/aem-assets-integration" --no-update
    
  2. 依存関係を更新し、拡張機能をインストールします。

    code language-shell
    composer update  "magento/aem-assets-integration"
    
  3. Adobe Commerceをアップグレード :

    code language-shell
    bin/magento setup:upgrade
    
  4. キャッシュをクリアする:

    code language-shell
    bin/magento cache:clean
    
note tip
TIP
実稼動環境にデプロイする場合は、時間を節約するために、コンパイル済みのコードをクリアしないことを検討します。 変更を行う前に、必ずシステムをバックアップしてください。

Commerce サービスコネクタの設定

NOTE
Commerce Services Connector のセットアップは、Adobe Commerce SaaS サービス ​ を使用するために必要な 1 回限りのプロセスです。 別のサービス用にコネクタを既に設定している場合は、Commerce管理で Systems > Services > Commerce Services Connector を選択すると、既存の設定を表示できます。

Adobe Commerce インスタンスとAEM Assets統合を有効にするサービスの間でデータを転送するには、管理者(System/Services/Commerce Services Connector)からCommerce サービスコネクタを設定します。

AEM Assets統合用の SaaS プロジェクトおよびデータ空間 ID {width="600" modal="regular"}

設定で次の値を指定します

  • 認証用の実稼働およびサンドボックスの API キー
  • セキュリティで保護されたクラウドストレージのデータ領域名(SaaS 識別子)
  • CommerceとAEM Assets環境がプロビジョニングされる IMS 組織 ID

手順について詳しくは、Commerce サービスコネクタ ​ のドキュメントの Commerce サービスコネクタ設定のビデオをご覧くだ ​ い。

設定を保存すると、システムによって環境の SaaS プロジェクトとデータベース ID が生成されます。 これらの値は、Adobe CommerceとAEM Assets間のアセット同期を有効にするために必要です。

Commerce用のAdobe I/O Eventsの設定

AEM Assets統合では、Adobe I/O Events サービスを使用して、Commerce インスタンスとExperience Cloudの間でカスタムイベントデータを送信します。 イベントデータは、AEM Assets統合のワークフローを調整するために使用されます。

Adobe I/O Eventsを設定する前に、Commerce プロジェクトの RabbitMQ と cron ジョブ設定を確認します。

NOTE
Commerce バージョン 2.4.5 のプロジェクトの場合、Adobe I/O モジュールをインストール ​ する必要があります。 Commerce バージョン 2.4.6 以降では、これらのモジュールは自動的に読み込まれます。 CommerceのAEM Assets統合の場合は、モジュールをインストールするだけで済みます。 App Builderの設定は不要です。

Commerce イベントフレームワークの有効化

Commerce Admin からイベントフレームワークを有効にします。

NOTE
App Builderの設定が必要になるのは、CommerceとAEM Assetsの間でアセットを同期するためにカスタムのマッチング方法を使用する予定がある場合のみです。
  1. 管理者から、Stores/Settings/Configuration/Adobe Services/Adobe I/O Events に移動します。

  2. Commerce events を展開します。

  3. EnabledYes に設定します。

    Adobe I/O Events Commerceの管理者設定 – Commerce イベントを有効にする ​ {width="600" modal="regular"}

  4. Merchant ID に商社の名前を入力し、Environment ID のフィールドに環境名を入力します。 これらの値を設定する場合は、英数字とアンダースコアのみを使用します。

recommendation-more-help

ブロックリクエスト用のカスタム VCL の設定

カスタム VCL スニペットを使用して、不明な受信リクエストをブロックする場合は、HTTP ヘッダー X-Ims-Org-Idheader を含めて、Commerce サービスのAEM Assets Integration からの着信接続を許可する必要がある可能性があります。

TIP
Fastly CDN モジュールを使用し、ブロックする IP アドレスのリストを含んだEdge ACL を作成できます。

次のカスタム VCL スニペットコード(JSON 形式)は、X-Ims-Org-Id リクエストヘッダーを持つ例を示しています。

{
  "name": "blockbyuseragent",
  "dynamic": "0",
  "type": "recv",
  "priority": "5",
  "content": "if ( req.http.X-ims-org ~ \"<YOUR-IMS-ORG>\" ) {error 405 \"Not allowed\";}"
}

この例に基づいてスニペットを作成する前に、値を確認して、変更が必要かどうかを判断してください。

  • name: VCL スニペットの名前。 この例では、blockbyuseragent という名前を使用します。

  • dynamic: スニペットのバージョンを設定します。 この例では、0 を使用します。 詳細なデータモデル情報については、Fastly VCL スニペット ​ を参照してください。

  • type: VCL スニペットのタイプを指定します。このスニペットは、生成された VCL コード内のスニペットの場所を決定します。 この例では、recv を使用します。 スニペットタイプのリストについては、Fastly VCL スニペットリファレンス ​ を参照してください。

  • priority: VCL スニペットを実行するタイミングを指定します。 この例では、優先度 5 を使用してすぐに実行し、許可された IP アドレスからの管理リクエストであるかどうかを確認します。

  • content:実行する VCL コードのスニペット。クライアントの IP アドレスを確認します。 IP がEdgeの ACL に含まれている場合は、web サイト全体に対して 405 Not allowed エラーが発生して IP のアクセスがブロックされます。 その他すべてのクライアント IP アドレスへのアクセスが許可されます。

VCL スニペットを使用して受信リクエストをブロックする方法については、『クラウドインフラストラクチャー上の Commerceガイド ​Custom VCL for blocking requests を参照してください。

API アクセスの認証資格情報の取得

CommerceのAEM Assets統合では、Commerce インスタンスへの API アクセスを許可するために、OAuth 認証資格情報が必要です。 これらの資格情報は、AEM Assets統合を使用してアセットを管理する際に API リクエストの認証に必要です。

資格情報を生成するには、統合をCommerce インスタンスに追加し、インスタンスをアクティベートします。

Commerce環境への統合の追加

  1. 管理者で、システム/拡張機能/統合 に移動し、「新規統合を追加」をクリックします。

  2. 統合に関する情報を入力します。

    一般」セクションでは、統合 名前メール のみを指定します。 CommerceとExperience Manager Assetsがデプロイされている組織にアクセスできるAdobe IMSアカウントのメールを使用します。

    Commerce管理者設定用のAEM Assets統合 ​ {width="600" modal="regular"}

  3. ID を確認 をクリックして ID を確認します。

    Adobe ID を使用してExperience Cloudの認証を行うことで、ID が検証されます。

  4. API リソースを設定します。

    1. 左側のパネルから、「API」をクリックします。

    2. 外部メディア リソース Catalog > Inventory > Products > External Media を選択します。

      API リソースの管理統合設定 ​ {width="600" modal="regular"}

  5. Save」をクリックします。

OAuth 認証情報の生成

統合ページで、Assets統合の「アクティブ化」をクリックして、OAuth 認証資格情報を生成します。 Commerce プロジェクトをAssets Rule Engine サービスに登録し、Adobe CommerceとAEM Assetsの間でアセットを管理するための API リクエストを送信するには、これらの資格情報が必要です。

  1. 統合ページで、「Activate」をクリックして資格情報を生成します。

    Assets統合用のCommerce設定のアクティブ化 ​ {width="600" modal="regular"}

  2. API を使用する場合は、コンシューマーキーとアクセストークンの資格情報を保存して、API クライアントで認証を設定します。

    API リクエストを認証するための OAuth 資格情報 ​ {width="600" modal="regular"}

  3. Done」をクリックします。

NOTE
また、Adobe Commerce API を使用して認証資格情報を生成することもできます。 このプロセスの詳細と、Adobe Developerの OAuth ベースの認証の詳細については、Adobe Commerce ドキュメントの OAuth ベースの認証 ​ を参照してください。

次の手順

c7f8bba7-a224-4875-a4b3-c2716835c81e