Aws Sam Местный потребитель Kineis - PullRequest
0 голосов
/ 25 апреля 2019

Я хотел создать подтверждение концепции для aws sam местного потребителя Kinesis, ниже мой java-файл Kinesis Consumer

 import com.amazonaws.services.lambda.runtime.Context; import
    com.amazonaws.services.lambda.runtime.RequestHandler; import
    com.amazonaws.services.lambda.runtime.events.KinesisEvent; import
    com.amazonaws.services.lambda.runtime.events.KinesisEvent.KinesisEventRecord;
    public class LambdaFunctionHandler implements
    RequestHandler<KinesisEvent, Integer> {
        @Override
        public Integer handleRequest(KinesisEvent event, Context context) {
            context.getLogger().log("Input: " + event);
            for (KinesisEventRecord record : event.getRecords()) {
                String payload = new String(record.getKinesis().getData().array());
                context.getLogger().log("Payload: " + payload);
            }
            return event.getRecords().size();
        } }

, а это мой файл template.yaml

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: A function that processes data from a Kinesis stream.
Resources:
  LambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: com.example.handler.LambdaFunctionHandler
      CodeUri: ./target/demo-1.0.0.jar
      Runtime: java8
      Timeout: 10
      Tracing: Active
      Events:
        Stream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt StreamConsumer.ConsumerARN
            StartingPosition: LATEST
            BatchSize: 100
        ListProducts:
          Type: Api
          Properties:
            Path: /lambda
            Method: post      
  KinesisStream:
    Type: "AWS::Kinesis::Stream"
    Properties:
      ShardCount: 1
Outputs:
  FunctionName:
    Description: "Function name"
    Value: !Ref LambdaFunction
  StreamARN:
    Description: "Stream ARN"
    Value: !GetAtt KinesisStream.Arn

Прежде всего, как запустить и использовать файл sample.json, я получаю ошибку ниже, если я запускаю так:

Найдены учетные данные в файле общих учетных данных: ~ / .aws / credentials LambdaFunctionHandler not found.Возможные варианты в вашем шаблоне: ['LambdaFunction']

Error: Function LambdaFunctionHandler not found in template
...