ruby - 使用 AWS Lambda 在 Ruby 中获取事件主体属性

标签 ruby amazon-web-services aws-lambda aws-sdk-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']

最佳答案

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

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

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

如果你要这样做也是如此。

puts event.inspect

代替

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

你会看到 body 返回了一个字符串而不是一个对象。希望对您有所帮助,祝您好运。

关于ruby - 使用 AWS Lambda 在 Ruby 中获取事件主体属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60309654/

相关文章:

node.js - API网关返回401并且不调用自定义授权方

android - 使用在 Ruby 中生成的 RSA public.pem 文件在 Android 中加密数据

ruby - 在运行时更改 MongoMapper 当前数据库

amazon-web-services - 在 OpenMPI 中设置 BTL 标志

amazon-web-services - AWS Lambda 通过 zip 文件上传不起作用

node.js - 将文件从一个文件夹移动到 s3 中的另一个文件夹

nginx - 在 nginx 上设置 proxy_pass 以对 API Gateway 进行 API 调用

ruby 错误 : undefined method `[]’ for nil:NilClass

ruby - 如何清除 `StringIO` 实例?

mysql - 具有外部主服务器的复制阵列中 RDS 快照的意外行为