【问题标题】:AWS Cost Explorer: Lambda error : getCostForecast is not a functionAWS Cost Explorer:Lambda 错误:getCostForecast 不是函数
【发布时间】:2019-05-06 22:20:11
【问题描述】:

我正在尝试使用 lambda 中的 javascript sdk 为我的帐户获取 costForecast,但我总是在 cloudwatch 日志中收到错误 - 'TypeError: .... getCostForecast is not a function'。我可以使用 AWS CLI 以及 samLocal 调用 api CostExplorer.getCostForecast()。对于在 samlocal 中工作,最初我遇到了同样的错误,但在将 aws-sdk 升级到 2.449.0 后它工作了。对于开发设置,我通过 cloudformation 进行部署,我们从不发送 aws-sdk 包,因为 lambda 会处理它。

CostExplorer.html#getCostForecast-property

我读到 getCostForecast 在 javascript apiVersion:2017-10-25 中可用,我在定义它后尝试过,但仍然出现相同的错误。我还尝试按照最新 sdk 文档中的建议在 apiVersion 中使用“最新”,但仍然无法修复它。请帮忙!我正在使用nodejs8.10。

代码片段

【问题讨论】:

  • 你能分享你的代码 sn-p 吗?
  • 我已经添加了..请检查一下。

标签: javascript node.js amazon-web-services


【解决方案1】:

方法getCostForecast已添加到版本2.358.0中的aws-sdk-js中。

不幸的是,在 Lambda 中运行的 aws-sdk-js 的当前版本是 2.290.0。您可以在您的函数中使用console.log(AWS.VERSION) 进行检查。这也在AWS Lambda Runtimes 中有所描述。

如果您想在 Lambda 中使用 getCostForecast,您必须在函数的 zip 中打包大于或等于 2.358.0 的 aws-sdk-js 版本(为了不依赖运行时中的可用版本)。

【讨论】:

  • 是的,你是对的。 Lambda 运行时 nodejs8.10 运行 2.290 aws-sdk。我一定会试试这个并更新状态..谢谢!
猜你喜欢
  • 2019-12-10
  • 2022-01-03
  • 2019-03-19
  • 2021-07-16
  • 1970-01-01
  • 1970-01-01
  • 2017-10-23
  • 2013-01-04
  • 1970-01-01
相关资源
最近更新 更多