Configurare la coda di messaggi di Amazon
A partire dalla versione 2.4.3 di Commerce, Amazon Message Queue (MQ) è disponibile come sostituzione pronta per il cloud per le istanze della coda di messaggi on-premise.
Per creare una coda di messaggi su AWS, vedi Configurazione di Amazon MQ nel Documentazione di AWS.
Configurare Commerce per AWS MQ
Per connettersi al servizio AWS MQ, configura il queue.amqp
oggetto in env.php
file.
La coda messaggi di AWS richiede una connessione SSL/TLS.
'queue' => [
'amqp' => [
'host' => '[host]', //example: c-bf4kk1c5-5gcc-4b43-9b9e-8f5b54d234.mq.us-west-3.amazonaws.com
'port' => 5671,
'user' => 'yourusername',
'password' => 'yourpassword',
'virtualhost' => '/',
// AWS fields to add
'ssl' => 'true'
]
],
Dove:
host
: URL dell’endpoint AMQP, disponibile facendo clic sul nome del broker in AWS (rimuovere "https://" e il numero della porta finale)user
- Il valore del nome utente immesso durante la creazione del broker MQ di AWSpassword
- Il valore della password immesso durante la creazione del broker MQ di AWS
Dopo aver modificato env.php
, eseguire il comando seguente per completare l'installazione:
bin/magento setup:upgrade
Utilizzo del servizio AWS MQ in Commerce
Il async.operations.all
Il consumatore della coda di messaggi utilizza la connessione AMQP.
Questo consumatore indirizza qualsiasi nome di argomento con il prefisso async
tramite la connessione AWS MQ.
Ad esempio, in InventoryCatalog
sono disponibili:
async.V1.inventory.bulk-product-source-assign.POST
async.V1.inventory.bulk-product-source-unassign.POST
async.V1.inventory.bulk-product-source-transfer.POST
Configurazione predefinita per InventoryCatalog
non pubblica i messaggi in RabbitMQ; il comportamento predefinito consiste nell'eseguire l'azione nello stesso thread utente. Da raccontare InventoryCatalog
per pubblicare i messaggi, abilita cataloginventory/bulk_operations/async
. Dall’amministratore, vai a Negozi > Configurazione > Catalogo > Inventario > Operazioni di massa e impostazione dell'amministratore Run asynchronously
a Sì.
Verifica della coda dei messaggi
Per verificare l’invio di messaggi da Commerce a RabbitMQ:
-
Accedi a RabbitMQ console web in AWS per monitorare le code.
-
In Amministratore, crea un prodotto.
-
Crea un'origine magazzino.
-
Abilita Negozi > Configurazione > Catalogo > Inventario > Operazioni di massa amministrazione > Esegui in modo asincrono.
-
Vai a Catalogo > Prodotti. Dalla griglia, seleziona il prodotto creato in precedenza e fai clic su Assegna origine magazzino.
-
Clic Salva e chiudi per completare il processo.
Ora dovresti vedere i messaggi visualizzati nel RabbitMQ console web.
-
Avvia il
async.operations.all
consumer coda messaggi.code language-bash bin/magento queue:consumers:start async.operations.all
Ora dovresti vedere che il messaggio in coda viene elaborato in RabbitMQ console web.
Verifica che le origini dell’inventario siano state modificate sul prodotto nell’amministratore.