View a markdown version of this page

Tutorial di ActiveMQ - Amazon MQ

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial di ActiveMQ

I seguenti tutorial illustrano come creare e connettersi ai broker ActiveMQ. Per utilizzare il codice di esempio ActiveMQ Java, devi installare Java Standard Edition Development Kit e apportare alcune modifiche di configurazione al codice di esempio

Fase 3: (Facoltativo) Connect a unAWS Lambdafunzione

AWS Lambdapuò connettersi e utilizzare i messaggi del tuo broker Amazon MQ. Quando si connette un broker a Lambda, si crea una mappatura delle origini degli eventi che legge i messaggi da una coda e richiama la funzione in modo sincrono. La mappatura dell'origine degli eventi creata legge i messaggi dal broker in batch e li converte in un payload Lambda sotto forma di oggetto JSON.

Connessione del broker a una funzione Lambda
  1. Aggiungere le seguenti autorizzazioni del ruolo IAM al ruolo di esecuzione della funzione Lambda.

    Nota

    Senza le necessarie autorizzazioni IAM, la tua funzione non sarà in grado di leggere correttamente i record dalle risorse di Amazon MQ.

  2. (Opzionale) Se hai creato un broker senza accessibilità pubblica, devi effettuare una delle seguenti operazioni per consentire a Lambda di connettersi al broker:

  3. Configurare il broker come origine dell'evento per una funzione Lambda che utilizza la Console di gestione AWS. Puoi anche usare il comando. create-event-source-mappingAWS Command Line Interface

  4. Scrivere un codice per la funzione Lambda per elaborare i messaggi utilizzati dal broker. Il payload Lambda recuperato dalla mappatura dell'origine dell'evento dipende dal tipo di motore del broker. Di seguito è riportato un esempio di payload Lambda per una coda Amazon MQ per ActiveMQ.

    Nota

    Nell'esempio, testQueue corrisponde al nome della coda.

    { "eventSource": "aws:amq", "eventSourceArn": "arn:aws:mq:us-west-2:112556298976:broker:test:b-9bcfa592-423a-4942-879d-eb284b418fc8", "messages": { [ { "messageID": "ID:b-9bcfa592-423a-4942-879d-eb284b418fc8-1---mq---us-west-2.amazonaws.com.rproxy.govskope.ca-37557-1234520418293-4:1:1:1:1", "messageType": "jms/text-message", "data": "QUJDOkFBQUE=", "connectionId": "myJMSCoID", "redelivered": false, "destination": { "physicalname": "testQueue" }, "timestamp": 1598827811958, "brokerInTime": 1598827811958, "brokerOutTime": 1598827811959 }, { "messageID": "ID:b-9bcfa592-423a-4942-879d-eb284b418fc8-1---mq---us-west-2.amazonaws.com.rproxy.govskope.ca-37557-1234520418293-4:1:1:1:1", "messageType":"jms/bytes-message", "data": "3DTOOW7crj51prgVLQaGQ82S48k=", "connectionId": "myJMSCoID1", "persistent": false, "destination": { "physicalname": "testQueue" }, "timestamp": 1598827811958, "brokerInTime": 1598827811958, "brokerOutTime": 1598827811959 } ] } }

Per maggiori informazioni sulla connessione di Amazon MQ a Lambda, le opzioni supportate da Lambda per un'origine dell'evento Amazon MQ e gli errori di mappatura delle origini degli eventi, vedere Uso di Lambda con Amazon MQ nella AWS LambdaGuida per gli sviluppatori.