适用于 Java 的 AWS SDK v2 - 如何更改 lambda 并发?

问题描述

我正在为在 AWS 中使用 SQS 和 Lambdas 构建的项目编写自动测试。 Lambdas 在一个事件消息从一个队列传递到另一个队列时连续转换它,我希望看到每个步骤的转换都是正确的。我的想法是在我测试的 lambda 之后停止下一个 lambda,这样我就可以从队列中获取消息并检查它。

为了停止 lambda,我尝试使用 AWS SDK v2 中列出的 LambdaClient.putFunctionConcurrency(PutFunctionConcurrencyRequest x) 函数。但该函数似乎并不存在......适用”。

我可以在 LambdaClient 接口上调用非常有限的函数子集,比 AWS docs 中列出的要少得多。例如,listFunctions() 被 IDE 识别并且在运行时运行良好。知道我做错了什么吗?

这是我的 pom.xml 摘录:

<dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>lambda</artifactId>
            <version>2.16.79</version>
</dependency>

这是相关的代码

import software.amazon.awssdk.services.lambda.LambdaClient
import software.amazon.awssdk.services.lambda.model.LambdaException
import software.amazon.awssdk.services.lambda.model.PutFunctionConcurrencyRequest
import software.amazon.awssdk.regions.Region

class AWSHelper {

    Region region = Region.AP_SOUTHEAST_2
    final LambdaClient awsLambda = LambdaClient.builder()
        .region(region)
        .build()

    public void stopLambda(String name) {
        PutFunctionConcurrencyRequest config = PutFunctionConcurrencyRequest.builder()
            .functionName(name)
            .reservedConcurrentExecutions(0)
            .build()
        awsLambda.putFunctionConcurrency(config)
    }
}

我尝试过:使缓存无效并重新启动 Intellij IDEA,重新加载 Maven 项目。 Groovy 3.0.8,JDK 16

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)