DokumentationHandelKonfigurationshandbok

Endast PaaS

Konfigurera Amazon Message Queue

Senast uppdaterad: 15 juli 2024
  • Ämnen:
  • Konfiguration

Skapat för:

  • Erfaren
  • Administratör
  • Utvecklare

Från och med Commerce 2.4.3 är Amazon Message Queue (MQ) tillgängligt som en molnklar ersättning för lokala meddelandeköinstanser.

Information om hur du skapar en meddelandekö på AWS finns i Konfigurera Amazon MQ i AWS-dokumentationen.

Konfigurera Commerce för AWS MQ

Om du vill ansluta till AWS MQ-tjänsten konfigurerar du objektet queue.amqp i filen env.php.
AWS Message Queue kräver en SSL/TLS-anslutning.

'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'
    ]
],

Var:

  • host - URL:en för AMQP-slutpunkten, som du kommer åt genom att klicka på mäklarnamnet i AWS (ta bort"https://" och det efterföljande portnumret)
  • user - Det användarnamn som angavs när AWS MQ-mäklaren skapades
  • password - Lösenordsvärdet som angavs när AWS MQ-mäklaren skapades
INFO
Amazon MQ har bara stöd för TLS-anslutningar. Peer-verifiering stöds inte.

När du har redigerat filen env.php kör du följande kommando för att slutföra installationen:

bin/magento setup:upgrade

Hur Commerce använder AWS MQ

Meddelandekökonsumenten async.operations.all använder AMQP-anslutningen.

Den här konsumenten skickar alla ämnesnamn som har prefixats med async via AWS MQ-anslutningen.

I InventoryCatalog finns till exempel:

async.V1.inventory.bulk-product-source-assign.POST
async.V1.inventory.bulk-product-source-unassign.POST
async.V1.inventory.bulk-product-source-transfer.POST

Standardkonfigurationen för InventoryCatalog publicerar inte meddelanden till RabbitMQ. Standardbeteendet är att utföra åtgärden i samma användartråd. Aktivera cataloginventory/bulk_operations/async om du vill att InventoryCatalog ska publicera meddelanden. Gå till Lager > Konfiguration > Katalog > Inventering > Admin - gruppåtgärder och ange Run asynchronously till Ja från administratören.

Testar meddelandekön

Så här testar du meddelanden som skickas från Commerce till RabbitMQ:

  1. Logga in på webbkonsolen RabbitMQ i AWS för att övervaka köer.

  2. Skapa en produkt i Admin.

  3. Skapa en lagerkälla.

  4. Aktivera Lagrar > Konfiguration > Katalog > Lager > Admin - gruppåtgärder > Kör asynkront.

  5. Gå till Katalog > Produkter. Markera den produkt som skapats ovan i rutnätet och klicka på Tilldela lager-Source.

  6. Klicka på Spara och stäng för att slutföra processen.

    Du bör nu se meddelanden i webbkonsolen RabbitMQ.

  7. Starta meddelandekökonsumenten async.operations.all.

    bin/magento queue:consumers:start async.operations.all
    

Du bör nu se meddelandet som står i kö bearbetas i webbkonsolen RabbitMQ.
Kontrollera att lagerkällor har ändrats i produkten i Admin.

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c