javascript - 无法列出来自 lambda 的步骤函数标签

标签 javascript amazon-web-services aws-lambda aws-sdk aws-step-functions

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

const { tags } = await stepfunctions.listTagsForResource({
  resourceArn: process.env.STATE_MACHINE_ARN
}).promise()
但是,

lambda.listTags(...) 似乎可用。我觉得问一个(看似)简单的问题真的很愚蠢:

如何使用 AWS 开发工具包访问 AWS Step Functions 资源标签? docs当然没有帮助。

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

最佳答案

简答:

可在内联 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,它确实定义了 listTagsForResource 函数。您可以在 v2.409.0 source code 中确认这一点.

不幸的是,

listTagsForResourcev2.290.0 中不可用,因此您将无法在 Lambda 内联编辑器中调用它。 (似乎在 this commit 中为 v2.382.0 添加了函数。)

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

所以,您的问题一点也不愚蠢;您遇到了一个令人沮丧的问题,它经常困扰着想要在内联编辑器中快速尝试某些东西的人们。

关于javascript - 无法列出来自 lambda 的步骤函数标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54670578/

相关文章:

amazon-web-services - 是否可以描述CloudFormation中的现有资源?

java - 由于配置错误 : Malformed Lambda proxy response in Java 导致执行失败

node.js - 如何从当前 Lambda 函数调用另一个 Lambda 函数?

amazon-web-services - AWS : What can I use to run periodic tasks on RDS?

javascript - AngularJs,将指令属性添加到范围而不隔离

amazon-web-services - AWS 推荐的 Kubernetes 中的 POD 大小 - EKS

amazon-web-services - 如何从现有任务定义创建 AWS 任务定义 JSON?

javascript - 使用javascript在ibooks epub中查找当前查看页面的页码

javascript - Jquery 可拖放事件委托(delegate) : stop & drop

javascript - 使用 useEffect 操作 DOM 事件在不同屏幕上不响应