

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 搭配使用 Lambda 與 Amazon MSK
<a name="with-msk"></a>

[Amazon Managed Streaming for Apache Kafka (Amazon MSK)](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html) 是一項全受管服務，可讓您建立並執行使用 Apache Kafka 處理串流資料的應用程式。Amazon MSK 簡化了 Kafka 叢集的設定、擴展與管理流程。Amazon MSK 也可讓您更輕鬆地為多個可用區域設定應用程式，並使用 AWS Identity and Access Management (IAM) 確保安全。

本章說明了如何將 Amazon MSK 叢集用作 Lambda 函式的事件來源。將 Amazon MSK 與 Lambda 整合的一般流程包含以下步驟：

1. **[叢集與網路設定](with-msk-cluster-network.md)**：首先，設定 [Amazon MSK 叢集](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html)。這包括設定允許 Lambda 存取叢集所需的正確聯網組態。

1. **[事件來源映射設定](with-msk-configure.md)**：接著，建立 Lambda 所需的[事件來源映射](invocation-eventsourcemapping.md)資源，將 Amazon MSK 叢集安全地連線至函式。

1. **[函式與許可設定](with-msk-permissions.md)**：最後，確保函式已正確設定，並且其[執行角色](lambda-intro-execution-role.md)具有必要許可。

**注意**  
您現在可以直接從 Lambda 或 Amazon MSK 主控台建立和管理 Amazon MSK 事件來源映射。兩個主控台都提供選項，可自動處理設定必要的 Lambda 執行角色許可，以便更簡化的組態程序。

如需如何設定 Lambda 與 Amazon MSK 叢集整合的範例，請參閱 AWS 《運算部落格》中的[教學課程：使用 Amazon MSK 事件來源映射來調用 Lambda 函數](services-msk-tutorial.md)[使用 Amazon MSK 做為 的事件來源 AWS Lambda](https://aws.amazon.com/blogs/compute/using-amazon-msk-as-an-event-source-for-aws-lambda/)，以及[《Amazon MSK 實驗室》中的 Amazon MSK Lambda 整合](https://amazonmsk-labs.workshop.aws/en/msklambda.html)。

**Topics**
+ [範例事件](#msk-sample-event)
+ [為 Lambda 設定 Amazon MSK 叢集與 Amazon VPC 網路](with-msk-cluster-network.md)
+ [設定 Amazon MSK 事件來源映射的 Lambda 許可](with-msk-permissions.md)
+ [設定 Lambda 的 Amazon MSK 事件來源](with-msk-configure.md)
+ [教學課程：使用 Amazon MSK 事件來源映射來調用 Lambda 函數](services-msk-tutorial.md)

## 範例事件
<a name="msk-sample-event"></a>

Lambda 會在調用函數時，在事件參數中傳送訊息批次。事件酬載包含訊息陣列。陣列中的每個項目包含 Amazon MSK 主題和分割區識別符的詳細資訊，以及時間戳記和 base64 編碼的訊息。

```
{
   "eventSource":"aws:kafka",
   "eventSourceArn":"arn:aws:kafka:us-east-1:123456789012:cluster/vpc-2priv-2pub/751d2973-a626-431c-9d4e-d7975eb44dd7-2",
   "bootstrapServers":"b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092",
   "records":{
      "mytopic-0":[
         {
            "topic":"mytopic",
            "partition":0,
            "offset":15,
            "timestamp":1545084650987,
            "timestampType":"CREATE_TIME",
            "key":"abcDEFghiJKLmnoPQRstuVWXyz1234==",
            "value":"SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==",
            "headers":[
               {
                  "headerKey":[
                     104,
                     101,
                     97,
                     100,
                     101,
                     114,
                     86,
                     97,
                     108,
                     117,
                     101
                  ]
               }
            ]
         }
      ]
   }
}
```