首页 > 解决方案 > 使用 AWS Lambda 在 Ruby 中获取事件主体属性

问题描述

所以我是 ruby​​ 新手,我有一个简单的 REST API。

发布请求如下所示:

POST /endpoint, { 'message': 1 }

我的 lambda 处理程序如下所示:

def run(event:, context:)
    puts "#{event['body']}"
    # prints the request body
end

我试图弄清楚如何存储message,这是int一个变量。

我试图做这样的事情但不起作用

my_int = event['body']['message']

标签: rubyamazon-web-servicesaws-lambdaaws-sdk-ruby

解决方案


event['body']将返回一个字符串,一个 json 字符串。

你需要用这样的东西来解析它。

body = JSON.parse(event['body'])
my_int = body['message']

另外,如果您要这样做。

puts event.inspect

代替

puts "#{event['body']}"

您将能够看到该主体返回了一个字符串而不是一个对象。我希望这会有所帮助并祝你好运。


推荐阅读