Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS Lambda触发器代码;JAVA_Java_Amazon Web Services_Aws Lambda - Fatal编程技术网

AWS Lambda触发器代码;JAVA

AWS Lambda触发器代码;JAVA,java,amazon-web-services,aws-lambda,Java,Amazon Web Services,Aws Lambda,所以在很多AWS Lambda教程中,它教我们编写几行代码,打包并上传。 是否有一个代码示例,您可以使用ARN或其他工具在当前项目中触发/调用lambda?我当前的项目非常庞大,我不能/不希望将功能包上传到AWS Lambda,我只想在我当前的代码中触发它 我发现的一个链接是:但到目前为止,它对我不起作用 如果已经被问到,道歉;我没有发现任何对我有用的东西 编辑: 我的问题是lambda函数只会被调用,因为我把它作为一个JAR上传(也就是说,它不是我的主项目的一部分,我只是作为一个测试来做的)

所以在很多AWS Lambda教程中,它教我们编写几行代码,打包并上传。

是否有一个代码示例,您可以使用ARN或其他工具在当前项目中触发/调用lambda?我当前的项目非常庞大,我不能/不希望将功能包上传到AWS Lambda,我只想在我当前的代码中触发它

我发现的一个链接是:但到目前为止,它对我不起作用

如果已经被问到,道歉;我没有发现任何对我有用的东西

编辑:


我的问题是lambda函数只会被调用,因为我把它作为一个JAR上传(也就是说,它不是我的主项目的一部分,我只是作为一个测试来做的),但我想编写要在我的主项目中调用的代码。我不知道如何在Java代码中调用lambda。就像@MaxPower所说的,也许我完全错了,这是不可能的。

我要做的是创建一个带有@lambdfunction注释的接口

public interface Foo {

@LambdaFunction(functionName = "LambdaName")
OutputObject doFoo(InputObject inputObject);
}

然后在调用lambda的类中,我创建了一个lambda客户机

private final Foo fooCaller;

RunTest() {
    ProfileCredentialsProvider lambdaCredentialsProvider = new ProfileCredentialsProvider("lambda");
    AWSLambdaClientBuilder builder = AWSLambdaClientBuilder.standard().withCredentials(lambdaCredentialsProvider);
    builder.setRegion("us-east-1");
    AWSLambda awsLambda = builder.build();

    LambdaInvokerFactory.Builder lambdaBuilder = LambdaInvokerFactory.builder();
    lambdaBuilder.lambdaClient(awsLambda);

    fooCaller = lambdaBuilder.build(Foo.class);
}
那么当你想打电话给lambda的时候

fooCaller.doFoo();

我要做的是创建一个带有@LambdaFunction注释的接口

public interface Foo {

@LambdaFunction(functionName = "LambdaName")
OutputObject doFoo(InputObject inputObject);
}

然后在调用lambda的类中,我创建了一个lambda客户机

private final Foo fooCaller;

RunTest() {
    ProfileCredentialsProvider lambdaCredentialsProvider = new ProfileCredentialsProvider("lambda");
    AWSLambdaClientBuilder builder = AWSLambdaClientBuilder.standard().withCredentials(lambdaCredentialsProvider);
    builder.setRegion("us-east-1");
    AWSLambda awsLambda = builder.build();

    LambdaInvokerFactory.Builder lambdaBuilder = LambdaInvokerFactory.builder();
    lambdaBuilder.lambdaClient(awsLambda);

    fooCaller = lambdaBuilder.build(Foo.class);
}
那么当你想打电话给lambda的时候

fooCaller.doFoo();

你能更详细地解释一下你面临的问题吗?您的评论“将函数包上传到AWS Lambda并不可取,我只想在当前代码中触发它”毫无意义。您想将Lambda函数的代码上载到AWS Lambda服务,或者根本不想使用AWS Lambda服务。我的问题是我不想通过AWS Lambda服务控制台上载Lambda函数,但我确实想使用该服务(通过Java代码)。谢谢你的反馈这有帮助吗?那没有任何意义。如果不将代码上传到Amazon Lambda服务,您计划调用什么代码?嗯,好的,这就是我需要帮助的原因;也许我遗漏了一些核心概念。我将在我的原始帖子中进行编辑。@MaxPower done。我想你的意思是,一些代码必须上传到AWS服务。你能更详细地解释一下你面临的问题吗?您的评论“将函数包上传到AWS Lambda并不可取,我只想在当前代码中触发它”毫无意义。您想将Lambda函数的代码上载到AWS Lambda服务,或者根本不想使用AWS Lambda服务。我的问题是我不想通过AWS Lambda服务控制台上载Lambda函数,但我确实想使用该服务(通过Java代码)。谢谢你的反馈这有帮助吗?那没有任何意义。如果不将代码上传到Amazon Lambda服务,您计划调用什么代码?嗯,好的,这就是我需要帮助的原因;也许我遗漏了一些核心概念。我将在我的原始帖子中进行编辑。@MaxPower done。我想你的意思是,一些代码必须上传到AWS服务,我可以给你发私人消息吗?我想第二次我会更加困惑。当然!请走开!我可以私下给你留言吗?我想第二次我会更加困惑。当然!请走开!