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統合を有効にするには、次の役割と権限が必要です。
-
Commerce cloud project administrator – 必要な拡張機能をインストールし、管理者またはコマンドラインからCommerce アプリケーションサーバーを設定します。
-
拡張機能をインストールするには、repo.magento.comにアクセスしてください。
キーの生成と必要な権限の取得については、認証キーの取得を参照してください。 クラウドインストールについては、Commerce on Cloud Infrastructure Guideを参照してください
-
-
Commerce管理者 - ストア設定を更新し、Commerce ユーザーアカウントを管理します。
インストールと設定のワークフロー
Adobe Commerce パッケージをインストールし、次のタスクを実行してCommerce環境を準備します。
-
Commerce向けAEM Assets統合の拡張機能(
aem-assets-integration) をインストールします。 -
Commerce サービス コネクタ を設定して、Adobe Commerce インスタンスと、Adobe CommerceとAEM Assets間でデータを転送できるサービスを接続します。
AEM Assets Integration拡張機能のインストール
AEM Assets Integration拡張機能(aem-assets-integration)の最新バージョンを、Adobe Commerce 2.4.5以降のAdobe Commerce インスタンスにインストールします。 拡張機能は、repo.magento.com リポジトリからコンポーザーのメタパッケージとして配信されます。
Commerce Cloud インスタンスにAEM Assets Integration拡張機能をインストールするには、この方法を使用します。
-
ローカルワークステーションで、Adobe Commerce on cloud infrastructure プロジェクトのプロジェクトディレクトリに移動します。
note NOTE Commerce プロジェクト環境のローカル管理について詳しくは、Adobe Commerce on Cloud Infrastructure ユーザーガイドの「CLIを使用した分岐の管理」を参照してください。 -
Adobe Commerce Cloud CLIを使用して更新する環境ブランチを確認します。
code language-shell magento-cloud environment:checkout <environment-id> -
AEM Assets Integration for Commerce拡張機能を追加します。
code language-shell composer require "magento/aem-assets-integration" "<version-tbd>" --no-update -
パッケージの依存関係を更新します。
code language-shell composer update "magento/aem-assets-integration" -
composer.jsonおよびcomposer.lockファイルのコード変更をコミットしてプッシュします。 -
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拡張機能をインストールするには、この方法を使用します。
-
Composerを使用して、AEM Assets Integration for Commerce拡張機能をプロジェクトに追加します。
code language-shell composer require "magento/aem-assets-integration" --no-update -
依存関係を更新し、拡張機能をインストールします。
code language-shell composer update "magento/aem-assets-integration" -
Adobe Commerceのアップグレード:
code language-shell bin/magento setup:upgrade -
キャッシュをクリアします。
code language-shell bin/magento cache:clean
| note tip |
|---|
| TIP |
| 実稼動環境にデプロイする場合は、時間を節約するためにコンパイル済みコードをクリアしないようにしてください。 変更を加える前に、必ずシステムをバックアップしてください。 |
Commerce Services Connectorの設定
Adobe Commerce インスタンスと、AEM Assets統合を有効にするサービスとの間でデータを転送するには、管理者(System > Services > Commerce Services Connector)からCommerce Services Connectorを設定します。
AEM Assets統合用の
設定で次の値を指定します
- 認証用の実稼動およびサンドボックス 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 ジョブ設定を確認します。
-
RabbitMQが有効になっており、イベントをリッスンしていることを確認します。
- Adobe Commerce オンプレミス用RabbitMQ セットアップ
- Adobe Commerce クラウドインフラストラクチャ用RabbitMQ セットアップ
- cron ジョブが有効になっていることを確認します。 AEM Assets統合のコミュニケーションとワークフローには、Cron ジョブが必要です。
Commerce イベントフレームワークの有効化
Commerce管理者からイベントフレームワークを有効にします。
-
管理者から、Stores > Settings > Configuration > Adobe Services > Adobe I/O Eventsに移動します。
-
Commerce eventsを展開します。
-
Enabledを
Yesに設定します。 {width="600" modal="regular"}
-
Merchant IDに加盟店の会社名を入力し、Environment ID フィールドに環境名を入力します。 これらの値を設定する場合は、英数字とアンダースコアのみを使用します。
ブロック要求に対するカスタム VCLの設定
カスタム VCL スニペットを使用して未知の着信要求をブロックする場合は、AEM Assets Integration for Commerce サービスからの着信接続を許可するために、HTTP ヘッダーX-Ims-Org-Idheaderを含める必要がある場合があります。
次のカスタム 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環境への統合の追加
-
管理者から、システム/拡張機能/統合に移動し、新しい統合を追加をクリックします。
-
統合の情報を入力します。
一般 セクションで、統合 名 と 電子メール のみを指定します。 CommerceとExperience Manager AssetsがデプロイされているAdobe IMSにアクセスできる組織アカウントの電子メールを使用します。
{width="600" modal="regular"}
-
「IDを確認」をクリックして、IDを確認します。
Adobe IDを使用してExperience Cloudに認証することにより、IDが確認されます。
-
API リソースを設定します。
-
左側のパネルで、APIをクリックします。
-
外部メディア リソース Catalog > Inventory > Products > External Mediaを選択します。
{width="600" modal="regular"}
-
-
Saveをクリックします。
OAuth資格情報の生成
統合ページで、Assets統合用の Activate をクリックしてOAuth認証情報を生成します。 Commerce プロジェクトをAssets ルールエンジンサービスに登録し、Adobe CommerceとAEM Assets間でアセットを管理するためにAPI リクエストを送信するには、これらの資格情報が必要です。
-
統合ページで、Activateをクリックして資格情報を生成します。
{width="600" modal="regular"}
-
APIを使用する場合は、コンシューマキーとアクセストークンの資格情報を保存して、API クライアントで認証を設定します。
{width="600" modal="regular"}
-
Doneをクリックします。