Можем ли мы использовать потребителя кафки с Ballerina в качестве функции AWS Lambda?

Я пробую балерину и хочу знать, может ли у нас быть программа балерины, которую потребитель кафки может представить как функцию AWS Lambda.

2 ответа

Лямбда-функции AWS должны запускаться откуда-то (не работает в качестве слушателей). В этом случае вы не сможете представить потребителю Ballerina Kafka Amazon AWS.

Вы не можете создать прослушиватель Kafka в качестве лямбда-выражения AWS, но вы можете создать потребителя типа Kafka не для прослушивателя в качестве лямбда-функции AWS.

Вы можете написать функцию балерины для обработки Кафки SimpleConsumer функции объекта (Current Ballerina-By-Guide для Kafka рассматривает потребителя Kafka как прослушиватель службы) и используют эту функцию для создания лямбд AWS.

Разъем WSO2-Kafka предлагает различные функции для ручного управления потребителем Kafka. Прочитайте документацию для получения дополнительной информации, она доступна в выпуске WSO2-Kafka.

Вы можете генерировать лямбда-выражения AWS, добавив лямбда-аннотацию AWS поверх функции.

@awslambda:Function
function kafkaConsumerService(awslambda:Context ctx, json inputs) returns json|error {

  kafka:ConsumerConfig consumerConfig = {
    // Consumer configs
  };

  kafka:SimpleConsumer kafkaConsumer = new(consumerConfig);

  // You can implement Kafka consume functionalities here.
  // For an example, you can poll consumer using kafkaConsumer->poll(<duration>);
  var results = kafkaConsumer->poll(1000);

  if (results is error) {
    // Handle error
  } else {
    // Handle records received
  }
}

Затем вы можете создать AWS Lambdas, следуя документации Ballerina по AWS Lambdas.

Другие вопросы по тегам