Javascript 无法列出lambda中的步骤函数标记
我花了好几个小时试图找出为什么从AWS 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(…)似乎是可用的。我觉得问一个(看似)简单的问题很愚蠢: 如何使用
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对象的构造工作正常!