【问题标题】:How to pass multiple get parameters in my lambda function?如何在我的 lambda 函数中传递多个 get 参数?
【发布时间】:2019-08-25 06:47:48
【问题描述】:

我有多个 GET 参数,那么我应该如何传入 lambda 函数以及我的 serverless.yml 会是什么样子。当前下面是配置

serverless.yml

myFunc:
    handler: com.mcm.in.MyHandler
    events:  
     - http:
         path: user
         method: get
         cors: true 

Request:/mylist?page=1&size=10&filter=userId=abc&sort=-userId&version=1554304254262

另外我应该如何在 sls 调用本地调用?

我试过没有参数,它在无服务器中不起作用

【问题讨论】:

    标签: java amazon-web-services path aws-lambda serverless-framework


    【解决方案1】:

    您可以创建一个请求模板,该模板将使用参数映射您的请求内容,如 the documentation. 中所述,您的函数将如下所示(如果您想采用 page 参数,例如:

    myFunc:
        handler: com.mcm.in.MyHandler
        events:
         - http:
             path: user
             method: get
             cors: true
             integration: lambda
             request:
                 template:
                     application/json: '{ "page" : "$input.params(''page'')" }'
    

    【讨论】:

      【解决方案2】:

      我以这种方式创建了请求模板,用于在 URL 中传递多个参数

      template:
      application/json: '{ "userid":"$input.params(''userid'')","activityid":"$input.params(''activityid'')"}'
      

      这是完整的代码

      functions:
        hello:
          handler: handler.hello
          events:
            - http:
                path: /
                method: get
        likes:
          handler: handler.likes
          events:
            - http:
                path: /likes
                method: get
                integration: lambda
                reqValidatorName: xMyRequestValidator
                request:
                  passThrough: NEVER
                  parameters:
                    querystrings:
                      userid: true
                      activityid:true
                  template:
                    application/json: '{ "userid":"$input.params(''userid'')","activityid":"$input.params(''activityid'')"}'
                response:
                  headers:
                    Content-Type: "'application/json'"
      

      【讨论】:

        猜你喜欢
        • 2020-12-04
        • 1970-01-01
        • 2016-03-03
        • 2016-03-27
        • 1970-01-01
        • 2013-03-29
        • 1970-01-01
        • 2019-02-02
        • 1970-01-01
        相关资源
        最近更新 更多