1

Java API を使用して既存の AWS Lambda 関数に新しいトリガーを追加するにはどうすればよいですか?

CloudWatch Events - Scheduleトリガーを追加したいと思います。

を使う必要がありそうAmazonCloudWatchEventsClientです。クライアントの資格情報を設定するにはどうすればよいですか?

どんな例でも大歓迎です。

ありがとう。

4

2 に答える 2

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);
于 2017-06-22T12:38:08.017 に答える
0

Kotlin で必要だったので、前の回答に欠けていたのは依存関係でした。

compile 'com.amazonaws:aws-java-sdk-lambda:1.11.520'

コード:

val addPermissionRequest = AddPermissionRequest()
addPermissionRequest.statementId = "12345ff"  //any unique string would go
addPermissionRequest.withSourceArn(ruleArn) //CloudWatch rule's arn
addPermissionRequest.action = "lambda:InvokeFunction"
addPermissionRequest.principal = "events.amazonaws.com"
addPermissionRequest.functionName = "name of your lambda function"

val lambdaClient = AWSLambdaAsyncClient.builder().build()
lambdaClient.addPermission(addPermissionRequest)
于 2019-03-25T16:34:52.220 に答える