当前位置:  开发笔记 > 编程语言 > 正文

如何从Java代码调用AWS lambda函数/处理程序

如何解决《如何从Java代码调用AWSlambda函数/处理程序》经验,为你挑选了1个好方法。

我是AWS lambda的新手我已经使用handler创建了一个lambda函数

example.Orders::orderHandler

这是自定义处理程序,现在我想从我的Java程序中调用它,我该怎么做呢.



1> Jeshan Baboo..:

这个课程中的2个方法应该能够帮到你.一个用于是否需要传入有效负载,另一个用于有效负载为空.

但是,您需要记住一件事:函数名称可能与处理程序不同(后者在这里example.Orders::orderHandler).调用其函数时使用处理程序名称.

所以,如果你有一个函数名为 'myFunction' 的函数,在幕后调用你的example.Orders::orderHandler 处理程序,那么这就是你将传递给下面的run方法.

import com.amazonaws.regions.Regions;
import com.amazonaws.services.lambda.AWSLambdaAsyncClient;
import com.amazonaws.services.lambda.model.InvokeRequest;
import com.amazonaws.services.lambda.model.InvokeResult;

class LambdaInvoker {

    public void runWithoutPayload(String region, String functionName) {
        runWithPayload(region, functionName, null);
    }

    public void runWithPayload(String region, String functionName, String payload) {
        AWSLambdaAsyncClient client = new AWSLambdaAsyncClient();
        client.withRegion(Regions.fromName(region));

        InvokeRequest request = new InvokeRequest();
        request.withFunctionName(functionName).withPayload(payload);
        InvokeResult invoke = client.invoke(request);
        System.out.println("Result invoking " + functionName + ": " + invoke);
    }
}

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有