使用Java API

时间:2016-11-13 08:29:26

标签: aws-lambda aws-java-sdk

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

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

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

任何例子都将不胜感激。

感谢。

2 个答案:

答案 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'