Можем ли мы использовать потребителя кафки с 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.