繁体   English   中英

在 AWS 中处理返回的无限值 JSON Lambda Python function

[英]Handling infinite values in returned JSON in AWS Lambda Python function

我有一个 Lambda function 调用 Python 脚本,它又以 json 格式给出结果。

脚本的结果有可能会趋于无穷大,我们最终会在 json 中得到 "inf" 值。当这种情况发生时,脚本可以在本地运行,但在 Lambda 中运行时会遇到错误:

botocore.errorfactory.InvalidRequestContentException: An error occurred (InvalidRequestContentException) when calling the Invoke operation: Could not parse request body into json: Could not parse payload into json: Non-standard token 'Infinity': enable JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS to allow at...

在本地运行的结果中,我确实看到:

0.008559854691925183, inf, inf, inf, 0.0011680872601948522

它似乎在告诉我启用 json 解析器的这个功能....我不知道该怎么做。 我检查了一下,看到人们在不同的上下文中遇到类似的 json 错误,但没有找到 AWS/Python 的示例。 是否有几行我可以添加到我的 Lambda function 以忽略错误?

或者,也许“inf”应该只替换为最大可能的浮点值,或类似的东西?

这些结果的绘图由单独的 lambda function 处理,因此将结果穿梭并在那里处理无限值就足够了,但仅存在此非数字值似乎会造成麻烦。 你会怎么处理这个? 谢谢。

我的答案是在从 python 脚本返回之前对数据使用 Numpy function np.nan_to_num()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM