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

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

Ответы [ 2 ]

2 голосов
/ 03 мая 2019

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

1 голос
/ 03 мая 2019

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

Вы можете написать функцию ballerina для обработки функций объекта Kafka SimpleConsumer (в настоящее время 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.

...