我正在尝试使用lambda中的javascript sdk为我的帐户获取costForecast,但在cloudwatch日志中始终出现错误-'TypeError:.... getCostForecast不是一个函数'。我可以使用AWS CLI以及samLocal调用api CostExplorer.getCostForecast()。对于在samlocal中工作,最初我遇到了相同的错误,但是将aws-sdk升级到2.449.0后,它可以工作了。对于开发人员设置,我正在通过cloudformation进行部署,因为lambda会处理它,所以我们从不发送aws-sdk软件包。
CostExplorer.html#getCostForecast-property
我读到getCostForecast在javascript apiVersion:2017-10-25中可用,我在定义它后尝试了但仍然是相同的错误。我也尝试了在apiVersion中使用'latest',如最新sdk的文档中所建议它。请帮忙!我正在使用nodejs8.10。
代码段
答案 0 :(得分:0)
方法getCostForecast
已添加到版本2.358.0的aws-sdk-js
中。
不幸的是,在Lambda中运行的aws-sdk-js
的当前版本为2.290.0。您可以在函数中使用console.log(AWS.VERSION)
进行检查。 AWS Lambda Runtimes中也对此进行了描述。
如果要在Lambda中使用getCostForecast
,则必须在函数的zip中打包一个大于或等于aws-sdk-js
的2.358.0的版本(为了不依赖于可用的版本)。