aws-lambda - 适用于 Java 的 AWS 开发工具包 v2 - 如何更改 lambda 并发?
问题描述
我正在为在 AWS 中使用 SQS 和 Lambdas 构建的项目编写自动测试。当事件消息从队列传递到队列时,Lambda 会连续转换它,我希望看到每个步骤的转换都是正确的。我的想法是在我正在测试的那个之后停止下一个 lambda,这样我就可以从队列中获取消息并检查它。
为了停止 lambda,我尝试使用 AWS SDK v2 中列出的 LambdaClient.putFunctionConcurrency(PutFunctionConcurrencyRequest x) 函数。但是该功能似乎不存在... IDE说“找不到方法调用的候选者”,在运行时我得到“没有方法签名:software.amazon.awssdk.services.lambda.DefaultLambdaClient.putFunctionConcurrency()适用”。
我可以在 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
解决方案
推荐阅读
- javascript - 我的页面将被视为 iframe 内容,我想删除滚动
- java - Heroku:如何指定 JVM buildpack 非 java 项目的路径?
- javascript - 为什么当我尝试将 php 变量添加到 sql 查询中时,我在 php 中的 sql 查询不起作用?
- javascript - 如何在javascript中同步运行异步函数?
- android - Is there any specific way to convert the LiveData to ArrayList without using the observer inside the repository while using MVVM with DI in android
- javascript - Reactjs(javascript)我怎么看不到列表为空(之前)api被调用
- angular - 部署时某些路由中不存在“Access-Control-Allow-Origin”标头
- ios - SwiftUI:处理导航和 UINavigationController 的等效方法
- sql-server - SQL Server:设计器不兼容的生成脚本
- javascript - “邮递员 - 如何同时检查任何键的类型是‘字符串’还是‘空’”