【发布时间】:2017-11-21 18:06:02
【问题描述】:
我正在使用 AmazonSWF 实施工作流,我的一项活动以 lambda 函数的形式出现。
SWF 和 Lambda 都在伦敦地区运行,它们都在伦敦地区单独工作。但是,我的决策者在轮询任务后失败,原因是“LAMBDA_SERVICE_NOT_AVAILABLE_IN_REGION”
我没有在代码中明确指定我在哪个区域工作,我假设它与我运行 SWF Web 客户端的区域相同。
这是我的决策者中的相关代码:
val attrs = ScheduleLambdaFunctionDecisionAttributes()
.withId("S3ControlWorkflowFunction")
.withName("S3ControlWorkflowFunction")
decisions.add(
Decision()
.withDecisionType(DecisionType.ScheduleLambdaFunction)
.withScheduleLambdaFunctionDecisionAttributes(attrs)
)
我的活动工作者根本不为 lambda 函数做任何事情,但它不应该这样做吗?
我已在此处使用我的 IAM 角色注册了工作流:
wf.registerWorkflowType(RegisterWorkflowTypeRequest()
.withDomain(DOMAIN)
.withName(WORKFLOW)
.withVersion(WORKFLOW_VERSION)
.withDefaultChildPolicy(ChildPolicy.TERMINATE)
.withDefaultTaskList(TaskList().withName(TASKLIST))
.withDefaultTaskStartToCloseTimeout("30")
.withDefaultLambdaRole(iamARN.id))
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-swf