我们可以将kafka消费者与Ballerina一起用作AWS Lambda函数吗?

时间:2019-05-02 11:52:58

标签: aws-lambda cloud integration ballerina ballerina-kafka

我正在尝试使用芭蕾舞演员,想知道我们是否可以拥有一个芭蕾舞程序,该程序可以将kafka使用者暴露为AWS Lambda函数。

2 个答案:

答案 0 :(得分:2)

AWS Lambda函数需要从某个地方触发(不能用作侦听器)。在这种情况下,您将无法通过Amazon AWS向Ballerina Kafka消费者开放。

答案 1 :(得分:1)

您不能将Kafka侦听器创建为AWS lambda,但是可以将非侦听器类型的Kafka使用者创建为AWS lambda函数。

您可以编写芭蕾舞女演员函数来处理Kafka SimpleConsumer对象的函数(Kafka的当前Ballerina-By-Guide将Kafka使用者视为服务侦听器),并使用该函数来创建AWS lambda。

WSO2-Kafka连接器提供了各种功能来手动处理Kafka使用者。阅读文档以获取更多信息,该文档可在WSO2-Kafka release上找到。

您可以通过在函数顶部添加AWS lambda批注来生成AWS lambda。

@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。