Ошибка при вызове LambdaInvoke в пошаговой функции aws CDK - PullRequest
1 голос
/ 27 мая 2020

Я пытаюсь создать пошаговую функцию через AWS CDK. Пошаговые функции должны, среди прочего, вызывать лямбда-функцию. Я использую задачу lambdaInvoke, как описано в: https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_stepfunctions_tasks/LambdaInvoke.html Для параметра lambda_function я пытаюсь использовать существующую Lambda, ссылаясь на ее ARN, используя https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_lambda/Function.html#aws_cdk .aws_lambda.Function.from_function_arn (я также пробовал использовать from_function_attributes)

Мой код cdk выглядит так

        lambda_name = sfn.Task(
            self, "Lambda Name",
            task=sfn_tasks.LambdaInvoke(self, "lambdaInvoke",lambda_function=lambda_.Function.from_function_arn(self,"import-lambda",function_arn="arn:aws:lambda:eu-west-1:accountnumber:function:LambdaName")),
            result_path="$.guid"
        )

Я пытаюсь вызвать существующую лямбду. (сама лямбда создается и обновляется в настройке конвейера в том же проекте CDK, но в другом стеке)

Я также попытался добавить:% LATEST в LambdaName, и оба выдают ту же ошибку: jsii.errors.JSIIError: props.task.bind is not a function

Я обратился в службу поддержки по этой проблеме, они столкнулись с той же проблемой и направили меня сюда. Как вызвать лямбду через cdk?

Обновление:

LambdaInvoke не должен быть встроен в задачу.

lambda_name = sfn_tasks.LambdaInvoke(
   self, "lambdaInvoke", 
   lambda_function=lambda_.Function.from_function_arn(self,"import-lambda",function_arn="arn:aws:lambda:eu-west-1:accountnumber:function:LambdaName")),
   result_path="$.guid"
)

Работает

...