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

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

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

この拡張機能をCommerce環境に追加するには、aem-assets-integration PHP拡張機能をインストールします。 また、Commerce用のAdobe I/O Eventsを有効にし、Adobe CommerceとAdobe Experience Manager Assets間のコミュニケーションとワークフローに必要な資格情報を生成する必要もあります。

アクセス要件

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

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

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

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

  1. Commerce向けAEM Assets統合の拡張機能(aem-assets-integration) ​をインストールします。

  2. Commerce サービス コネクタ ​を設定して、Adobe Commerce インスタンスと、Adobe CommerceとAEM Assets間でデータを転送できるサービスを接続します。

  3. Commerce用Adobe I/O Eventsの設定

  4. API アクセス用の認証情報を取得する

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

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

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

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

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

    note
    NOTE
    Commerce プロジェクト環境のローカル管理について詳しくは、Adobe Commerce on Cloud Infrastructure ユーザーガイド​の「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 Services Connectorの設定

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

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

AEM Assets統合用の SaaS プロジェクトとデータスペース ID {width="600" modal="regular"}

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

  • 認証用の実稼動およびサンドボックス API キー
  • セキュアクラウドストレージのデータスペース名(SaaS識別子)
  • COMMERCEおよびAEM Assets環境がプロビジョニングされるIMS組織ID

詳細な手順については、Commerce Services Connector ドキュメントのCommerce Services Connector設定ビデオ ​を参照してください。

設定を保存すると、システムは環境用の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管理者からイベントフレームワークを有効にします。

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

  2. Commerce events​を展開します。

  3. Enabled​をYesに設定します。

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

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

ブロック要求に対するカスタム VCLの設定

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

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 アドレスにアクセスが許可されます。

VCL スニペットを使用して着信リクエストをブロックする方法について詳しくは、Commerce on Cloud Infrastructure ガイド​の「​ リクエストをブロックするためのカスタム VCL」を参照してください。

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統合用の​ Activate ​をクリックしてOAuth認証情報を生成します。 Commerce プロジェクトをAssets ルールエンジンサービスに登録し、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 ベース認証を参照してください。

次のステップ

recommendation-more-help
commerce-help-aem-assets-integration