【问题标题】:Amazon SWF Lambda Functions error - not available in regionAmazon SWF Lambda 函数错误 - 区域不可用
【发布时间】: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


    【解决方案1】:

    找到了解决办法。

    原来在 eu-west-2 区域以及其他一些区域不支持从 SWF 调用 lambda 函数。但是,我在文档中根本找不到对此的任何参考。发现this 论坛帖子给了我提示。将我所做的所有工作迁移到 eu-west-1 解决了这个问题。亚马逊在这里表现不佳

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 2019-03-27
      • 1970-01-01
      • 2019-09-20
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      相关资源
      最近更新 更多