java - 如何使用 java EventBridgeClient 调用 aws lambda
问题描述
我有一个配置了 EventBridge(CloudWatch Events) 触发器的 aws lambda。这个 lambda 工作正常。现在我需要用 Cucumber 测试用例来测试这个 lambda。Lambda 由 AWS skd 版本 2 制成。
我从链接尝试了下面的代码,我可以看到 System.out -> Event Id: ........,但是它没有调用 lambda 函数
EventBridgeClient eventBridgeClient = EventBridgeClient.builder().build();
PutEventsRequestEntry requestEntry = PutEventsRequestEntry.builder()
.time(Instant.now()) // eg: to get current time
.resources("my lambda arn") // eg: arn:aws:lambda:eu-east-1:123456789:function:myLambdaFunction
.source("my lambda package name") //eg: com.package.lambda
.detailType("Scheduled Event")
.detail("{}")
.build();
List <PutEventsRequestEntry> requestEntries = new ArrayList <PutEventsRequestEntry>();
requestEntries.add(requestEntry);
PutEventsRequest eventsRequest = PutEventsRequest.builder().entries(requestEntries).build();
PutEventsResponse result = eventBridgeClient.putEvents(eventsRequest);
for (PutEventsResultEntry resultEntry: result.entries()) {
if (resultEntry.eventId() != null) {
System.out.println("Event Id: " + resultEntry.eventId()); // This is getting with some eventid
} else {
System.out.println("PutEvents failed with Error Code: " + resultEntry.errorCode());
}
}
解决方案
推荐阅读
- maven - AEM Mocks 缺少最新版本的工件
- flutter - 在颤动中按下按钮时自动增加一个值
- javascript - 删除存储在 localStorage 中的数组中的项目
- html - 如何使用 HTML 和 CSS 格式化图像
- c# - 您可以将 System.Data.Odbc 与 ASP.NET Core 异步使用吗?
- node.js - 如何在同一个测试中使用不同的值多次模拟返回值?
- android - ViewPager 中的片段在 isVisible 不是时显示为 true
- typescript - 如何在 TypeScript 中定义可配置的类型保护工厂?
- ios - Tableview 未从核心数据刷新(Swift)
- c# - C# 使用 Microsoft.Office.Interop.Excel 错误将 Range .Formula 设置为 Range .Value2