简体   繁体   English

AWS Java SDK STS 在 Lambda 超时

[英]AWS Java SDK STS in Lambda timeout

I want to get temporary credentials via AWS Security Token Service in Lambda, but it is timeout at AWSSecurityTokenServiceClientBuilder.standard().build() all the time.我想通过 Lambda 中的 AWS Security Token Service 获取临时凭证,但它一直在AWSSecurityTokenServiceClientBuilder.standard().build()超时。

Does anyone help me?有人帮助我吗?

Source Code:源代码:

package example;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.securitytoken.AWSSecurityTokenService;
import com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClientBuilder;
import com.amazonaws.services.securitytoken.model.AssumeRoleRequest;
import com.amazonaws.services.securitytoken.model.AssumeRoleResult;

public class SecurityTokenService implements RequestHandler<Request, Credential> {

    public Credential handleRequest(Request request, Context context) {
        AssumeRoleRequest assumeRoleRequest = new AssumeRoleRequest()
                .withPolicy("arn:aws:iam::12345678900:policy/SomePolicy")
                .withDurationSeconds(900);

        AWSSecurityTokenService securityTokenService = AWSSecurityTokenServiceClientBuilder.standard().build();

        AssumeRoleResult assumeRoleResult = securityTokenService.assumeRole(assumeRoleRequest);

        return new Credential(assumeRoleResult.getCredentials());

    }

}

Error Message:错误信息:

{
  "errorMessage": "2018-02-22T09:12:55.102Z 8f49ee0a-17b0-11e8-892f-753d21bb516c Task timed out after 3.00 seconds"
}

I had the same problem with default memory settings of 128 MB.我对 128 MB 的默认 memory 设置有同样的问题。 After increasing memory to 512 MB it works now.将 memory 增加到 512 MB 后,它现在可以工作了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM