

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Tutorial berikut menunjukkan cara membuat dan terhubung ke broker ActiveMQ Anda. Untuk menggunakan kode contoh ActiveMQ Java, Anda harus menginstal [Kit Pengembangan Java Standard Edition](https://www.oracle.com/technetwork/java/javase/downloads/index.html) dan membuat beberapa perubahan pada kode

**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)
+ [Mengintegrasikan broker ActiveMQ dengan LDAP](security-authentication-authorization.md)
+ [Connect your Amazon MQ for ActiveMQ broker to Lambda](#activemq-connect-to-lambda)
+ [Membuat pengguna broker ActiveMQ](amazon-mq-listing-managing-users.md)
+ [Edit pengguna broker ActiveMQ](edit-existing-user-console.md)
+ [Hapus pengguna broker ActiveMQ](delete-existing-user-console.md)
+ [Working Java Example](amazon-mq-working-java-example.md)

## Langkah 3: (Opsional) Connect ke AWS Lambda fungsi
<a name="activemq-connect-to-lambda"></a>

 AWS Lambda dapat terhubung ke dan mengkonsumsi pesan dari broker Amazon MQ Anda. [Saat Anda menghubungkan broker ke Lambda, Anda membuat [pemetaan sumber peristiwa](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html) yang membaca pesan dari antrian dan memanggil fungsi secara sinkron.](https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html) Pemetaan sumber acara yang Anda buat membaca pesan dari broker Anda dalam batch dan mengubahnya menjadi muatan Lambda dalam bentuk objek JSON. 

**Untuk menghubungkan broker Anda ke fungsi Lambda**

1. [Tambahkan izin peran IAM berikut ke peran eksekusi fungsi Lambda Anda.](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html)
   + [mq: 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)
   + [log: CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)
   + [log: CreateLogStream](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogStream.html)
   + [log: PutLogEvents](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html)
   + [manajer rahasia: GetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html)
**catatan**  
Tanpa izin IAM yang diperlukan, fungsi Anda tidak akan berhasil membaca catatan dari sumber daya Amazon MQ.

1.  (Opsional) Jika Anda telah membuat broker tanpa aksesibilitas publik, Anda harus melakukan salah satu hal berikut untuk memungkinkan Lambda terhubung ke broker Anda: 
   +  Konfigurasikan satu NAT gateway per subnet publik. *Untuk informasi selengkapnya, lihat [Akses Internet dan layanan untuk fungsi yang terhubung dengan VPC di Panduan](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-internet) Pengembang.AWS Lambda * 
   + Buat koneksi antara Amazon Virtual Private Cloud (Amazon VPC) dan Lambda menggunakan titik akhir VPC. VPC Amazon Anda juga harus terhubung ke AWS Security Token Service (AWS STS) dan titik akhir Secrets Manager. *Untuk informasi selengkapnya, lihat [Mengonfigurasi titik akhir VPC antarmuka untuk](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc-endpoints.html)AWS Lambda Lambda di Panduan Pengembang.* 

1.  [Konfigurasikan broker Anda sebagai sumber acara](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) untuk fungsi Lambda menggunakan. Konsol Manajemen AWS Anda juga dapat menggunakan [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 perintah. 

1.  Tulis beberapa kode untuk fungsi Lambda Anda untuk memproses pesan yang dikonsumsi dari broker Anda. Payload Lambda yang diambil oleh pemetaan sumber peristiwa Anda tergantung pada jenis mesin broker. Berikut ini adalah contoh payload Lambda untuk Amazon MQ untuk antrian ActiveMQ. 
**catatan**  
 Dalam contoh, `testQueue` adalah nama antrian. 

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

[https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html)