Javascript 无法列出lambda中的步骤函数标记

Javascript 无法列出lambda中的步骤函数标记,javascript,amazon-web-services,aws-lambda,aws-sdk,aws-step-functions,Javascript,Amazon Web Services,Aws Lambda,Aws Sdk,Aws Step Functions,我花了好几个小时试图找出为什么从AWS Lambda集成编辑器调用时未定义stepfunctions.listTagsForResource(…),如下所示: const { tags } = await stepfunctions.listTagsForResource({ resourceArn: process.env.STATE_MACHINE_ARN }).promise() 然而,lambda.listTags(…)似乎是可用的。我觉得问一个(看似)简单的问题很愚蠢: 如何使用

我花了好几个小时试图找出为什么从AWS Lambda集成编辑器调用时未定义
stepfunctions.listTagsForResource(…)
,如下所示:

const { tags } = await stepfunctions.listTagsForResource({
  resourceArn: process.env.STATE_MACHINE_ARN
}).promise()
然而,lambda.listTags(…)似乎是可用的。我觉得问一个(看似)简单的问题很愚蠢:

如何使用AWS SDK访问AWS步骤函数资源标记?这当然没用

编辑:值得注意的是,所有其他
list
函数都按预期工作,
listtagsforesource
是唯一未定义的函数。

简短回答: 内联aws Lambda编辑器中可用的
aws sdk
版本通常已经过时;那里的当前版本没有定义
listTagsForResource
函数

长答覆: 现在,在内联编辑器中运行以下命令将显示
aws sdk
版本为
2.290.0

var AWS = require("aws-sdk")
exports.handler = async (event) => {
    console.log(AWS.VERSION)
}
此时的最新版本(与您的文档链接一样)是
2.409.0
,它确实定义了
listtagsforesource
函数。您可以在中确认这一点

不幸的是,
listtagsforesource
在中不可用,因此您将无法在Lambda内联编辑器中调用它。(该函数似乎是为添加的。)

在Lambda中仍然可以使用这个函数,只是不能通过时髦的内联编辑器——您必须创建一个节点应用程序,并将其作为Zip文件部署到Lambda


所以,你的问题一点也不愚蠢;您遇到了一个令人沮丧的问题,它经常会让想要在内联编辑器中快速尝试某个内容的人感到沮丧。

您是先调用它的吗?:>const stepfunctions=新的AWS.stepfunctions();是的,正如我所说的,所有其他方法都是有效的,因此我认为stepfunctions对象的构造工作正常!