2

MSK トピックのプロデューサーとして機能する Lambda を AWS で作成しようとしています。すべての AWS ドキュメントは新しい EC2 インスタンスを作成するように言っていますが、私の Lambda は同じ VPC にあるので、これでうまくいくはずです。私はこれに非常に慣れておらず、ログステートメントがプロデューサー.on関数にヒットしないことに気付きました。nodejs と kafka-node モジュールを使用しています。コードは以下にあります。

基本的に、誰かがこれを行う方法を知っているかどうか、そしてラムダを介してテストを実行したときにプロデューサー.オン関数がヒットしないのはなぜだろうか? これは、送信できるかどうかを確認するためのテスト コードにすぎませんが、さらにデータが必要な場合は、お知らせください。事前に感謝します。

exports.handler = async (event, context,callback) => {

const kafka = require('kafka-node');
const bp = require('body-parser');

const kafka_topic = 'MyTopic';
const Producer = kafka.Producer;
var KeyedMessage = kafka.KeyedMessage;
const Client = kafka.Client;
const client = new kafka.KafkaClient({kafkaHost: 'myhost:9094'});

console.log('client :: '+JSON.stringify(client));

const producer = new Producer(client);
console.log('about to hit producer code');

producer.on('ready', function() {
  console.log('Hello there!')
  let message = 'my message';
  let keyedMessage = new KeyedMessage('keyed', 'me keyed message');
  
    producer.send([
    { topic: kafka_topic, partition: 0, messages: [message, keyedMessage], attributes: 0 }
  ], function (err, result) {
    console.log(err || result);
    process.exit();
  });
});

producer.on('error', function (err) {
  console.log('error', err);
});
}
return "success";
4

1 に答える 1