使用Java API将触发器添加到AWS Lambda函数

使用Java API将触发器添加到AWS Lambda函数

问题描述:

如何使用Java API为现有AWS Lambda函数添加新触发器?使用Java API将触发器添加到AWS Lambda函数

我想添加CloudWatch Events - Schedule触发器。

看起来我应该使用AmazonCloudWatchEventsClient。 如何设置客户端的凭据?

任何示例将不胜感激。

谢谢。

It is possible to add event sources via aws sdk. I faced the same issue and please see code below as the solution using java. 

AddPermissionRequest addPermissionRequest = new AddPermissionRequest(); 
       addPermissionRequest.setStatementId("12345ff"); //any unique string would go 
       addPermissionRequest.withSourceArn(ruleArn); //CloudWatch rule's arn 
       addPermissionRequest.setAction("lambda:InvokeFunction"); 
       addPermissionRequest.setPrincipal("events.amazonaws.com"); 
       addPermissionRequest.setFunctionName("name of your lambda function"); 

       AWSLambdaAsyncClient lambdaClient = new AWSLambdaAsyncClient(); 
       lambdaClient.withRegion(Regions.US_EAST_1); //region of your lambda's location 

lambdaClient.addPermission(addPermissionRequest); 
+0

这适用于我,但唯一的问题是'AWSLambdaAsyncClient'已弃用。 – chaitanya