首页 > 解决方案 > AWS Lambda:如何将多个参数传递给一个方法?

问题描述

我有一个非常简单的 AWS Lambda 方法,如下所示

public class App 
{
    public App(){}
    
    public void truckTracker(String lang, String lon)
    {
        System.out.println("Lat: "+lang+ " Long: "+lon);
    }

    
}

这是我的template.yaml

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
  secondlambda

  Sample SAM Template for secondlambda

# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
  Function:
    Timeout: 20

Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
    Properties:
      CodeUri: HelloWorldFunction
      Handler: helloworld.App::truckTracker
      Runtime: java11
      MemorySize: 512
   
    

下面是我如何使用events.jsonAWS 控制台将数据传递到方法中。

{
  "lang":"102020203456151",
  "lon":"3000300303030"
}

不幸的是,我总是以以下错误告终。

{"errorMessage":"No public method named truckTracker with appropriate method signature found on class helloworld.App"}

我怎样才能解决这个问题?

标签: javaamazon-web-servicesaws-lambda

解决方案


推荐阅读