Adobe Commerce B2B 拡張機能のインストール
Adobe Commerce B2B 拡張機能は、サポートされてい magento/extension-b2b
Adobe Commerceのすべてのバージョンで使用できます。 Adobe Commerceのインストール後にインストールされます。
要件
- Adobe Commerce、サポートされているすべてのバージョン
- PHP 8.1 および 8.2
- Composer
サポートされるプラットフォーム
- クラウドインフラストラクチャー上のAdobe Commerce(ECE)
- Adobe Commerce オンプレミス(EE)
インストール手順
前提条件
-
repo.magento.com にアクセスして、拡張機能をダウンロードします。 キーの生成と必要な権限の取得については、 認証キーの取得を参照してください。
COMPOSER_HOME ディレクトリでグローバルに定義することにより、インストール用に認証キーを保存します。 または、Adobe Commerce アプリケーションのルートディレクトリにある auth.json ファイルに保存します。
-
B2B 拡張機能のサポート対象バージョン- デプロイ済みのAdobe Commerce バージョンでサポートされている B2B 拡張機能の最新バージョンを特定します。
-
インストールまたはアップグレードの要件に影響を与える可能性のある、バージョンの互換性、アップデート、変更に関する最新の情報については、リリースノートを参照してください。
Composer を使用して B2B 拡張機能(magento/b2b-extension
)をインストールします。 拡張機能は、Adobe Commerce インスタンスの B2B 機能を有効にするモジュールのコレクションを含む composer メタパッケージです。 含まれているモジュールのリストについては、B2B パッケージを参照してください。
note tip |
---|
TIP |
Adobeでは、クラウドインフラストラクチャにAdobe Commerce B2B をインストールする場合、開始前にAdobe Commerce アプリケーションを統合環境またはステージング環境にデプロイすることをお勧めします。 |
Adobeでは、B2B 拡張機能をプロジェクトに追加する際に、開発ブランチで作業することをお勧めします。 ブランチがない場合は、 開発用のブランチの作成を参照してください。 B2B 拡張機能をインストールする場合、Magento_B2b
拡張機能名が app/etc/config.php
ファイルに自動的に挿入されます。 ファイルを直接編集する必要はありません。
B2B 拡張機能をインストールするには:
-
ローカルワークステーションで、をプロジェクトディレクトリに変更します。
-
開発ブランチを作成またはチェックアウトします。
-
composer.json
ファイルのrequire
セクションに B2B 拡張機能を追加します。code language-bash composer require magento/extension-b2b --no-update
-
プロジェクトの依存関係を更新します。
code language-bash composer update
-
コードの変更を追加、コミットおよびプッシュします。
code language-bash git add -A
code language-bash git commit -m "Install the B2B extension."
code language-bash git push origin <branch-name>
note note NOTE 更新をクラウド環境にプッシュすると、Commerce クラウドのデプロイメントプロセスが開始されて、変更が適用されます。 デプロイメントログからデプロイメントステータスを確認します。 デプロイメントエラーが発生した場合は、 コンポーネントの障害からの回復を参照してください。 -
ビルドおよびデプロイが完了したら、SSH を使用してリモート環境にログインし、B2B 拡張機能がインストールされ、有効になっていることを確認します。
code language-bash bin/magento module:status Magento_B2b
拡張機能名には、
<VendorName>_<ComponentName>
の形式を使用します。応答の例:
code language-none Magento_B2b : Module is enabled
-
Adobe Commerce アプリケーションのルートディレクトリから、
composer.json
を更新して B2B 拡張機能の依存関係を追加します。code language-bash composer require magento/extension-b2b:<version>
エラーが発生した場合、例えば次のようになります。
code language-none [InvalidArgumentException] Could not find a matching version of package magento/extension-b2b.
パッケージのスペル、バージョンの制約、パッケージが使用可能で、最小安定性(安定)の要件に一致していることを確認します。
-
プロンプトが表示されたら、 認証キーを入力します。
公開鍵 はユーザー名で、秘密鍵 はパスワードです。 公開鍵と秘密鍵を
auth.json
に保存している場合は、認証を求められません。 -
Composer がモジュールの更新を完了した後で、次のコマンドを実行します。
code language-bash bin/magento setup:upgrade
code language-bash bin/magento setup:di:compile
code language-bash bin/magento setup:static-content:deploy -f
code language-bash bin/magento cache:clean
note note NOTE 実稼動モードでは、 Please rerun Magento compile command
へのメッセージが表示される場合があります。 コマンドを入力して、インストールを完了します。 Adobe Commerceでは、開発者モードでコンパイルコマンドを実行するように求められることはありません。
インストールが完了したら、メッセージコンシューマーを設定して起動します。
メッセージコンシューマー
Adobe Commerce B2B 拡張機能は、メッセージキューの管理に MySQL を使用します。 次の表に、B2B 機能をサポートするメッセージコンシューマーを示します。 拡張機能をインストールしたら、Commerce ストアフロントに必要な B2B 機能について、メッセージコンシューマーを開始します。
sharedCatalogUpdatePrice
sharedCatalogUpdateCategoryPermissions
negotiableQuotePriceUpdate
purchaseorder.toorder
purchaseorder.transactional.email
purchaseorder.validation
quoteItemCleaner
inventoryQtyCounter
メッセージコンシューマーの設定
B2B 機能について メッセージコンシューマーを開始する際に、次のパラメーターを追加して、処理の問題や遅延の可能性を防ぎます。
-
--max-messages <value>
– 各消費者が終了するまでに処理する必要があるメッセージの最大数を指定します(デフォルトは 10000)。 Adobeでは推奨しませんが、0 を使用して、コンシューマーが終了しないようにできます。 PHP アプリケーションのベストプラクティスは、長時間実行されているプロセスを再起動して、メモリリークの可能性を防ぐことです。 -
--batch-size <value>
- コンシューマーが消費するシステム リソース (CPU、メモリ)を制限できます。 より小さなバッチを使用すると、リソースの使用量が減少します。その結果、処理が遅くなります。 指定した場合、キュー内のメッセージが各<value>
のバッチで消費されます。 このオプションは、バッチコンシューマーにのみ適用できます。--batch-size
が定義されていない場合、バッチコンシューマーはキュー内の使用可能なすべてのメッセージを受け取ります。
その他の設定オプションについて詳しくは、 特定の設定を参照してください。
メッセージコンシューマーの開始
B2B 機能の非同期操作を有効にするには、複数のメッセージコンシューマーを開始する必要があります。
-
使用可能なメッセージコンシューマーのリストを表示します。
code language-bash bin/magento queue:consumers:list
このコマンドは、すべての B2B メッセージコンシューマーを含む、使用可能なメッセージコンシューマーを返します。
-
各消費者を個別に起動します。
code language-bash bin/magento queue:consumers:start [--max-messages=<value>] [--batch-size=<value>] <consumer_name>
例:
code language-bash bin/magento queue:consumers:start quoteItemCleaner
&
を追加し、プロンプトに戻ってコマンドを実行し続けます。 例:bin/magento queue:consumers:start sharedCatalogUpdatePrice &
。詳しくは、『 設定ガイド の メッセージキューの管理を参照してください。
Cron へのメッセージコンシューマーの追加
cron 設定ファイル /app/code/Magento/MessageQueue/etc/crontab.xml にスケジュールを追加することで、SharedCatalogUpdateCategoryPermissions
および SharedCatalogUpdatePrice
メッセージコンシューマーの実行スケジュールを自動化できます。
* * * * * ps ax | grep [s]haredCatalogUpdateCategoryPermissions >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdateCategoryPermissions &
* * * * * ps ax | grep [s]haredCatalogUpdatePrice >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdatePrice &
また、管理者の ストア設定から、メッセージコンシューマーのスケジュールを設定することもできます。
管理者で B2B 機能を有効にする
Adobe Commerce B2B 拡張機能をインストールしてメッセージコンシューマーを開始した後、 管理者で B2B 機能を有効にする必要もあります。