【问题标题】:Add trigger to AWS Lambda Function using Java API使用 Java API 将触发器添加到 AWS Lambda 函数
【发布时间】:2016-11-13 08:29:26
【问题描述】:

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

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

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

任何示例都将不胜感激。

谢谢。

【问题讨论】:

    标签: aws-lambda aws-java-sdk


    【解决方案1】:

    可以通过 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);
    

    【讨论】:

    • 这对我来说很好用,但唯一的问题是 AWSLambdaAsyncClient 已被弃用。
    • @chaitanya 它也适用于AWSLambda 客户端AWSLambda lambdaClient = AWSLambdaClientBuilder.defaultClient();
    【解决方案2】:

    感谢我自己在 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-03
      • 2021-09-15
      • 1970-01-01
      • 2021-03-16
      • 2020-11-10
      • 2019-01-30
      • 2019-01-02
      • 2017-07-27
      相关资源
      最近更新 更多