Невозможно перечислить теги шаговых функций из лямбды - PullRequest
0 голосов
/ 13 февраля 2019

Я потратил впустую часы, пытаясь выяснить, почему stepfunctions.listTagsForResource(...) не определяется при вызове из интегрированных редакторов AWS Lambda, например:

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

lambda.listTags(...), однако, кажется, доступно.Я чувствую себя очень глупо, задавая вопрос (на первый взгляд) простой:

Как получить доступ к тегам ресурсов AWS Step Functions с помощью AWS SDK? документы определенно не помогли.

РЕДАКТИРОВАТЬ: Стоит отметить, что все другие функции list работают, как ожидалось, listTagsForResource является единственной, которая не определена.

1 Ответ

0 голосов
/ 23 февраля 2019

Краткий ответ:

Версия aws-sdk, доступная для использования во встроенном лямбда-редакторе AWS, обычно устарела;текущая версия там не определяет функцию 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 .

listTagsForResource, к сожалению, не было доступно в v2.290.0 , поэтому вы не будетев состоянии вызвать это в встроенном редакторе Lambda.(Похоже, что функция была добавлена ​​в этот коммит для v2.382.0 .)

Эту функцию все еще можно использовать в лямбде, но не через шикарный встроенныйредактор - вам нужно собрать пакет вашего Node-приложения и развернуть его в Lambda в виде Zip-файла.

Итак, ваш вопрос вовсе не глуп;Вы столкнулись с неприятной проблемой, которая слишком часто кусает людей, желающих быстро попробовать что-то в встроенном редакторе.

...