如何使用Java API为现有AWS Lambda函数添加新触发器?
我想添加CloudWatch Events - Schedule
触发器。
看起来我应该使用AmazonCloudWatchEventsClient
。
如何设置客户端的凭据?
任何例子都将不胜感激。
感谢。
答案 0 :(得分:4)
可以通过aws sdk添加事件源。我遇到了同样的问题,请参阅下面的代码作为使用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);
答案 1 :(得分:0)
感谢我自己在Kotlin中需要它,上一个答案缺少的是依赖性:
copy <- runif(N)
for (i in 1:nrow(agent.dat)){
if(agent.dat[,10] >= 1 && copy[i] < s){
agent.dat[i,1:10] <- top_ten_percent[sample(nrow(top_ten_percent), 1), ]
}
}
代码:
compile 'com.amazonaws:aws-java-sdk-lambda:1.11.520'