首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从Java中的另一个aws调用aws函数?

如何从Java中的另一个aws调用aws函数?
EN

Stack Overflow用户
提问于 2019-10-29 18:19:17
回答 2查看 1.2K关注 0票数 2

我在java中有一个返回整数值的代码。例如:

代码语言:javascript
运行
复制
public class Hello {

    public int myHandler(Object name, Context context) {

        int count = 5;
        return count;
    }
}

我在AWS上上传了这段代码,处理程序名为example.Hello::myHandler,函数名为AWSLAMBDA,位于美国东部-2区域。

现在,我想用Java编写另一段代码,它调用前面代码的输出值(计数)。注意,计数是一个整数。因为我是java和aws的新手。请帮助我,如果可能的话,请提供一个简单的解释。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-29 20:58:34

  • 这是代码片段示例aws sdk
  • 若要异步调用函数,请将InvocationType设置为Event
  • 要同步调用函数,请将InvocationType设置为RequestResponse (默认值)。
  • 调用lambda应该具有一个具有lambda:InvokeFunction操作的附加策略。
代码语言:javascript
运行
复制
import com.amazonaws.regions.Regions;
import com.amazonaws.services.lambda.AWSLambda;
import com.amazonaws.services.lambda.AWSLambdaClientBuilder;
import com.amazonaws.services.lambda.model.InvokeRequest;
import com.amazonaws.services.lambda.model.InvokeResult;

AWSLambda client = AWSLambdaClientBuilder.standard().build();
InvokeRequest request = new InvokeRequest().withFunctionName("MyFunction").withInvocationType("RequestResponse").withLogType("Tail").withClientContext("MyApp")
        .withPayload(ByteBuffer.wrap("fileb://file-path/input.json".getBytes())).withQualifier("1");
InvokeResult response = client.invoke(request);
票数 1
EN

Stack Overflow用户

发布于 2019-10-29 21:03:37

除了Java代码之外,还需要确保附加到Lambda函数的策略实际上能够调用第二个Lambda函数。否则,Java片段将失败,因为调用Lambda没有调用其他函数的权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58613308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档