#amazon-web-services #aws-step-functions
#amazon-веб-сервисы #aws-step-функции
Вопрос:
У меня есть sfn с активностью. Я хочу получить taskToken в lambda, который выполняет SendTaskSuccess. Выполняется запуск нескольких sfn. Мне нужно получить taskToken для конкретного выполнения sfn в orader, чтобы продолжить его.Метод getActivityTask возвращает GetActivityTaskResult, начиная с самого старого выполнения sfn до самого нового. Меня не устраивает, если он вернул список запущенного выполнения, но нет. Как я могу получить необходимый мне taskToken?
Ответ №1:
Спасибо за ваш вопрос и за ваш интерес к пошаговым функциям.
К токену задачи для состояния задачи можно получить доступ из глобального объекта контекста и передать вызываемой лямбда-функции как часть ее полезной нагрузки.
Вот как будет выглядеть определение состояния в примере состояния токена waitForTask:
{
"StartAt":"GetManualReview",
"States":{
"GetManualReview":{
"Type":"Task",
"Resource":"arn:aws:states:::lambda:invoke.waitForTaskToken",
"Parameters":{
"FunctionName":"get-model-review-decision",
"Payload":{
"model.$":"$.new_model",
"token.$":"$$.Task.Token"
},
"Qualifier":"prod-v1"
},
"End":true
}
}
}
Смотрите: Вызов Lambda с помощью пошаговых функций — Пошаговые функции AWS