Adobe Commerce パッケージのインストール
AEM Assets Integration for Commerce拡張機能(aem-assets-integration
)を使用すると、Adobe CommerceとAdobe Experience Manager Assetsの間でアセットを同期できます。 この拡張機能は、製品画像、ビデオ、その他のメディアアセットなど、両方のプラットフォームにわたってアセットを管理する一連のツールとサービスを提供します。
aem-assets-integration
PHP 拡張機能をインストールすることにより、この拡張機能をCommerce環境に追加します。 また、Adobe CommerceのAdobe I/O Eventsを有効にして、CommerceとAdobe Experience Manager Assets間の通信およびワークフローに必要な資格情報を生成する必要があります。
必要システム構成
AEM Assets Integration for Commerce拡張機能には、次のシステム要件と設定要件があります。
ソフトウェア要件
- Adobe Commerce 2.4.5 以降
- PHP バージョン (Adobe Commerce バージョン 8.1、8.2、8.3、または 8.4 のインストール済みバージョンと互換性あり)
- コンポーザー:2.x
アクセス要件
統合を設定するには、次の役割と権限が必要です。
-
Commerce クラウドプロジェクト管理者– 必要な拡張機能をインストールして、管理者またはコマンドラインからCommerce アプリケーションサーバーを設定します。
-
repo.magento.com にアクセスして、拡張機能をインストールします。
キーの生成と必要な権限の取得については、 認証キーの取得を参照してください。 クラウドインストールについては、Commerce on Cloud Infrastructure ガイドを参照してください
-
-
Commerce管理者- ストア設定を更新し、Commerce ユーザーアカウントを管理します。
インストールと設定のワークフロー
Adobe Commerce パッケージをインストールし、次のタスクを実行してCommerce環境を準備します。
- AEM Assets Integration for Commerce拡張機能(
aem-assets-integration
)をインストールします。 - Commerce サービスコネクタを設定して、Adobe Commerce インスタンスと、Adobe CommerceとAEM Assets間でデータを転送できるサービスを接続します。
- Commerce用のAdobe I/O Eventsの設定
- API アクセスの認証資格情報の取得
aem-assets-integration
拡張機能のインストール
Adobe Commerce 2.4.5 以降のバージョンのAdobe Commerce インスタンスに、最新バージョンのAEM Assets Integration Extension (aem-assets-integration
)をインストールします。 AEM Asset Integration は、repo.magento.com リポジトリから composer メタパッケージとして提供されます。
Commerce Cloud インスタンスの AEM Assets Integration 拡張機能をインストールするには、このメソッドを使用します。
-
ローカルワークステーションで、Adobe Commerce on cloud infrastructure プロジェクトのプロジェクトディレクトリに移動します。
note note NOTE Commerce Adobe Commerce プロジェクト環境のローカル管理について詳しくは、クラウドインフラストラクチャユーザーガイドの 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 サービスコネクタの設定
Adobe Commerce インスタンスとAEM Assets統合を有効にするサービスの間でデータを転送するには、管理者(System/Services/Commerce Services Connector)からCommerce サービスコネクタを設定します。
設定で次の値を指定します
- 認証用の実稼働およびサンドボックスの 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 ジョブ設定を確認します。
-
RabbitMQ が有効になっていて、イベントをリッスンしていることを確認します。
- Adobe Commerce オンプレミス用の RabbitMQ のセットアップ
- クラウドインフラストラクチャー上のAdobe Commerce用の RabbitMQ のセットアップ
- cron ジョブが有効であることを確認します。 Cron ジョブは、AEM Assets統合のための通信およびワークフローに必要です。
Commerce イベントフレームワークの有効化
Commerce Admin からイベントフレームワークを有効にします。
-
管理者から、Stores/Settings/Configuration/Adobe Services/Adobe I/O Events に移動します。
-
Commerce events を展開します。
-
Enabled を
Yes
に設定します。 -
Merchant ID に商社の名前を入力し、Environment ID のフィールドに環境名を入力します。 これらの値を設定する場合は、英数字とアンダースコアのみを使用します。
ブロックリクエスト用のカスタム VCL の設定
カスタム VCL スニペットを使用して、不明な受信リクエストをブロックする場合は、HTTP ヘッダー X-Ims-Org-Idheader
を含めて、Commerce サービスのAEM Assets Integration からの着信接続を許可する必要がある可能性があります。
次のカスタム 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環境への統合の追加
-
管理者で、システム/拡張機能/統合 に移動し、「新規統合を追加」をクリックします。
-
統合に関する情報を入力します。
「一般」セクションでは、統合 名前 と メール のみを指定します。 CommerceとExperience Manager Assetsがデプロイされている組織にアクセスできるAdobe IMSアカウントのメールを使用します。
-
ID を確認 をクリックして ID を確認します。
Adobe ID を使用してExperience Cloudの認証を行うことで、ID が検証されます。
-
API リソースを設定します。
-
左側のパネルから、「API」をクリックします。
-
外部メディア リソース Catalog > Inventory > Products > External Media を選択します。
-
-
「Save」をクリックします。
OAuth 認証情報の生成
統合ページで、Assets統合の「アクティブ化」をクリックして、OAuth 認証資格情報を生成します。 Commerce プロジェクトをAssets Rule Engine サービスに登録し、Adobe CommerceとAEM Assetsの間でアセットを管理するための API リクエストを送信するには、これらの資格情報が必要です。
-
統合ページで、「Activate」をクリックして資格情報を生成します。
-
API を使用する場合は、コンシューマーキーとアクセストークンの資格情報を保存して、API クライアントで認証を設定します。
-
「Done」をクリックします。