AWS Lambda で Avro 形式および Protobuf 形式の Kafka イベントがネイティブサポートに
AWS Lambda で、Apache Kafka のイベントソースマッピング (ESM) を使用した Avro 形式および Protobuf 形式の Kafka イベントがネイティブでサポートされるようになりました。また、スキーマ管理に AWS Glue スキーマレジストリ (GSR)、Confluent Cloud Schema registry (CCSR)、およびセルフマネージド型 Confluent Schema registry (SCSR) との統合を利用できるようになりました。これにより、オープンソースの Kafka コンシューマーインターフェイスを使用したスキーマの検証、イベントのフィルタリング、イベントの処理が可能になります。さらに、Powertools for AWS Lambda を使用すると、カスタムの逆シリアル化コードを記述することなく Kafka イベントを処理できるため、AWS Lambda を使った Kafka アプリケーションを簡単に構築できます。
Kafka では、効率的なデータストレージ、高速なシリアル化と逆シリアル化、スキーマ進化のサポート、異なるプログラミング言語間の相互運用性を実現するために、Avro 形式や Protobuf 形式のイベントが用いられます。そこではスキーマレジストリを使って、データが処理パイプラインに投入される前にスキーマの管理、進化、検証が行われます。これまで Lambda 関数でこれらのデータ形式を使用する場合には、イベントの検証、逆シリアル化、フィルタリングを行うためのカスタムのコードを関数内に記述する必要がありました。今回のリリースで、GSR、CCSR、SCSR との統合に加え、Avro 形式と Protobuf 形式が Lambda でネイティブにサポートされます。これにより、カスタムのコードを記述することなく、これらのデータ形式を使った Kafka イベントを処理できるようになります。さらに、イベントフィルタリングによって関数の不要な呼び出しを防ぎ、コストを最適化できるようになりました。
この機能は、イスラエル (テルアビブ)、アジアパシフィック (マレーシア)、カナダ西部 (カルガリー) を除く、AWS Lambda Kafka ESM が提供されているすべての AWS 商用リージョンで一般提供されます。
使用を開始するには、ESM API、AWS コンソール、AWS CLI、AWS SDK、AWS CloudFormation、AWS SAM で、新規または既存の Kafka ESM のスキーマレジストリ設定を指定します。オプションで、Avro 形式または Protobuf 形式の不要なイベントを関数の呼び出し前に破棄するためのフィルタリングルールを設定できます。オープンソースの Kafka の ConsumerRecords インターフェイスを使用する関数を作成するには、Lambda 関数の依存関係に Powertools for AWS Lambda を追加します。詳細については、Lambda ESM のドキュメントおよび AWS Lambda の料金表をご覧ください。