【发布时间】:2022-01-01 21:53:38
【问题描述】:
我要做的就是创建一个可重用的 ambda 组件,我可以在其中将参数传递给类,以便 Lambda 可以根据输入参数做不同的事情。
我在 python 中使用 CDK 来部署堆栈。我想创建一个并行步进函数,在这里我可以使用不同的参数/有效负载传递相同的 lambda,以便它们可以成为分支。
我正在运行以下代码:
from aws_cdk import (
# Duration,
Stack,
# aws_sqs as sqs,
aws_stepfunctions as _stepfunctions,
aws_stepfunctions_tasks as _stepfunctions_tasks,
aws_lambda as _lambda,
)
from constructs import Construct
class LambdaJob(_stepfunctions.StateMachineFragment):
def __init__(self, parent, id, *, jobTypeParam):
super().__init__(parent, id)
existingFunc = _lambda.Function.from_function_arn(self, "ExistingLambdaFunc", function_arn="arn:aws:lambda:us-east-1:95842$$$$$:function:dummyFunction")
lambda_invoked = _stepfunctions_tasks.LambdaInvoke(self, "someID", lambda_function=existingFunc)
wait_10_seconds = _stepfunctions.Wait(self, "Wait for 10 seconds",
time=_stepfunctions.WaitTime.duration(Duration.seconds(10))
)
self.start_state = wait_10_seconds
class StepfunctionsClasStack(Stack):
def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
super().__init__(scope, construct_id, **kwargs)
test_lambda_1 = LambdaJob(self, "Quick")
#state_machine = _stepfunctions.StateMachine(self, "TestStateMachine",
# definition=LambdaJob(self, "Quick"),
# # role=marketo_role
# )
但是我不断收到以下错误:
TypeError: Can't instantiate abstract class LambdaJob with abstract methods end_states, start_state
对我做错了什么有什么想法吗? 谢谢
【问题讨论】:
标签: python-3.x aws-cdk aws-step-functions