

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Tutoriais ActiveMQ
<a name="activemq-on-amazon-mq"></a>

Os tutoriais a seguir mostram como você pode criar e se conectar aos agentes do ActiveMQ. Para usar o código de exemplo o ActiveMQ Java, será necessário instalar o [Kit de Desenvolvimento da Edição Padrão do Java](https://www.oracle.com/technetwork/java/javase/downloads/index.html) e fazer algumas alterações de configuração no código.

**Topics**
+ [Creating and Configuring a Network of Brokers](amazon-mq-creating-configuring-network-of-brokers.md)
+ [Connecting a Java application to your broker](amazon-mq-connecting-application.md)
+ [Integração de agentes ActiveMQ com LDAP](security-authentication-authorization.md)
+ [Connect your Amazon MQ for ActiveMQ broker to Lambda](#activemq-connect-to-lambda)
+ [Criar um usuário do agente do ActiveMQ](amazon-mq-listing-managing-users.md)
+ [Editar um usuário do agente do ActiveMQ](edit-existing-user-console.md)
+ [Excluir um usuário do agente do ActiveMQ](delete-existing-user-console.md)
+ [Working Java Example](amazon-mq-working-java-example.md)

## Etapa 3: (opcional) conectar-se a uma AWS Lambda função
<a name="activemq-connect-to-lambda"></a>

 AWS Lambda pode se conectar e consumir mensagens do seu agente Amazon MQ. Quando você conecta um agente ao Lambda, você cria um [Mapeamento da origem do evento](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html) que lê mensagens de uma fila e invoca a função [sincronicamente](https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html). O mapeamento da origem do evento que você cria lê mensagens de seu agente em lotes e as converte em uma carga útil do Lambda na forma de um objeto JSON. 

**Para conectar seu agente a uma função do Lambda**

1. Adicione as permissões de Função do IAM a seguir à sua [função de execução](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) da função Lambda.
   + [metros quadrados: DescribeBroker](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id.html#brokers-broker-id-http-methods)
   + [ec2: CreateNetworkInterface](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html)
   + [ec2: DeleteNetworkInterface](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteNetworkInterface.html)
   + [ec2: DescribeNetworkInterfaces](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNetworkInterfaces.html)
   + [ec2: DescribeSecurityGroups](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html)
   + [ec2: DescribeSubnets](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html)
   + [ec2: DescribeVpcs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html)
   + [registros: CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)
   + [registros: CreateLogStream](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogStream.html)
   + [registros: PutLogEvents](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html)
   + [gerente de segredos: GetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html)
**nota**  
Sem as permissões necessárias do IAM, sua função não poderá ler registros com êxito dos recursos do Amazon MQ.

1.  (Opcional) Se você criou um agente sem acessibilidade pública, você deve fazer um dos seguintes procedimentos para permitir que o Lambda se conecte ao seu agente: 
   +  Configure um gateway NAT por sub-rede pública. Para obter mais informações, consulte [Acesso aos serviços e à Internet para funções conectadas à VPC](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-internet) no *AWS Lambda Guia do desenvolvedor*. 
   + Crie uma conexão entre a Amazon Virtual Private Cloud (Amazon VPC) e o Lambda usando um endpoint da VPC. Sua Amazon VPC também deve se conectar aos endpoints AWS Security Token Service (AWS STS) e Secrets Manager. Para obter mais informações, consulte [Configurar endpoints da VPC de interface para o Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc-endpoints.html) no *Guia do desenvolvedor AWS Lambda *. 

1.  [Configure seu agente como uma origem do evento](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) para uma função do Lambda usando Console de gerenciamento da AWS. Você também pode usar o [https://docs.aws.amazon.com/cli/latest/reference/lambda/create-event-source-mapping.html](https://docs.aws.amazon.com/cli/latest/reference/lambda/create-event-source-mapping.html) AWS Command Line Interface comando. 

1.  Escreva algum código para sua função do Lambda para processar as mensagens consumidas pelo seu agente. A carga útil do Lambda recuperada pelo mapeamento da origem do evento depende do tipo de mecanismo do agente. Veja a seguir um exemplo de uma carga útil do Lambda para uma fila do Amazon MQ para ActiveMQ. 
**nota**  
 No exemplo, `testQueue` é o nome da fila. 

   ```
   {
     "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
         }
       ]
     }
   }
   ```

Para obter mais informações sobre como conectar o Amazon MQ ao Lambda, as opções com as que o Lambda é compatível para uma origem de evento do Amazon MQ e erros de mapeamento da origem do evento, consulte [Usar o Lambda com o Amazon MQ](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html) no *Guia do desenvolvedor AWS Lambda *.