Accessing AWS Lambda Context from Spring Cloud Function









up vote
0
down vote

favorite












I'm using Spring Cloud Function 1.0.0.RELEASE and the corresponding AWS adapter to run it in AWS lambda. Is there any way to retrieve the lambda function context from the Spring application context?



I know if you implement the RequestHandler interface yourself, then you get the Context object as the second parameter of the handleRequest method (see below), but since the SpringBootRequestHandler is handling this, it's not clear to me how to access the Context object. Any ideas?



Example of implementing RequestHandler directly



public class LambdaRequestHandler implements RequestHandler<String, String> 

public String handleRequest(String input, Context context)
context.getLogger().log("Input: " + input);
return "Hello World - " + input;




Deferring the implementation of RequestHandler to SpringBootRequestHandler



public class SomeFunctionHandler 
extends SpringBootRequestHandler<SomeRequest, SomeResponse>










share|improve this question

























    up vote
    0
    down vote

    favorite












    I'm using Spring Cloud Function 1.0.0.RELEASE and the corresponding AWS adapter to run it in AWS lambda. Is there any way to retrieve the lambda function context from the Spring application context?



    I know if you implement the RequestHandler interface yourself, then you get the Context object as the second parameter of the handleRequest method (see below), but since the SpringBootRequestHandler is handling this, it's not clear to me how to access the Context object. Any ideas?



    Example of implementing RequestHandler directly



    public class LambdaRequestHandler implements RequestHandler<String, String> 

    public String handleRequest(String input, Context context)
    context.getLogger().log("Input: " + input);
    return "Hello World - " + input;




    Deferring the implementation of RequestHandler to SpringBootRequestHandler



    public class SomeFunctionHandler 
    extends SpringBootRequestHandler<SomeRequest, SomeResponse>










    share|improve this question























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm using Spring Cloud Function 1.0.0.RELEASE and the corresponding AWS adapter to run it in AWS lambda. Is there any way to retrieve the lambda function context from the Spring application context?



      I know if you implement the RequestHandler interface yourself, then you get the Context object as the second parameter of the handleRequest method (see below), but since the SpringBootRequestHandler is handling this, it's not clear to me how to access the Context object. Any ideas?



      Example of implementing RequestHandler directly



      public class LambdaRequestHandler implements RequestHandler<String, String> 

      public String handleRequest(String input, Context context)
      context.getLogger().log("Input: " + input);
      return "Hello World - " + input;




      Deferring the implementation of RequestHandler to SpringBootRequestHandler



      public class SomeFunctionHandler 
      extends SpringBootRequestHandler<SomeRequest, SomeResponse>










      share|improve this question













      I'm using Spring Cloud Function 1.0.0.RELEASE and the corresponding AWS adapter to run it in AWS lambda. Is there any way to retrieve the lambda function context from the Spring application context?



      I know if you implement the RequestHandler interface yourself, then you get the Context object as the second parameter of the handleRequest method (see below), but since the SpringBootRequestHandler is handling this, it's not clear to me how to access the Context object. Any ideas?



      Example of implementing RequestHandler directly



      public class LambdaRequestHandler implements RequestHandler<String, String> 

      public String handleRequest(String input, Context context)
      context.getLogger().log("Input: " + input);
      return "Hello World - " + input;




      Deferring the implementation of RequestHandler to SpringBootRequestHandler



      public class SomeFunctionHandler 
      extends SpringBootRequestHandler<SomeRequest, SomeResponse>







      amazon-web-services spring-boot aws-lambda spring-cloud






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 9 at 17:14









      emerson

      213




      213






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote













          SomeFunctionHandler extends the SpringBootRequestHandler, so it can override the handleRequest method to get access to the AWS lambda Context object.



          public class SomeFunctionHandler extends SpringBootRequestHandler<SomeRequest, SomeResponse> 

          private static final Logger logger = LoggerFactory.getLogger(SomeFunctionHandler.class);

          @Override
          public Object handleRequest(SomeRequest event, Context context)
          logger.info("ARN=" + context.getInvokedFunctionArn());
          return super.handleRequest(event, context);








          share|improve this answer




















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













             

            draft saved


            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53230452%2faccessing-aws-lambda-context-from-spring-cloud-function%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            1
            down vote













            SomeFunctionHandler extends the SpringBootRequestHandler, so it can override the handleRequest method to get access to the AWS lambda Context object.



            public class SomeFunctionHandler extends SpringBootRequestHandler<SomeRequest, SomeResponse> 

            private static final Logger logger = LoggerFactory.getLogger(SomeFunctionHandler.class);

            @Override
            public Object handleRequest(SomeRequest event, Context context)
            logger.info("ARN=" + context.getInvokedFunctionArn());
            return super.handleRequest(event, context);








            share|improve this answer
























              up vote
              1
              down vote













              SomeFunctionHandler extends the SpringBootRequestHandler, so it can override the handleRequest method to get access to the AWS lambda Context object.



              public class SomeFunctionHandler extends SpringBootRequestHandler<SomeRequest, SomeResponse> 

              private static final Logger logger = LoggerFactory.getLogger(SomeFunctionHandler.class);

              @Override
              public Object handleRequest(SomeRequest event, Context context)
              logger.info("ARN=" + context.getInvokedFunctionArn());
              return super.handleRequest(event, context);








              share|improve this answer






















                up vote
                1
                down vote










                up vote
                1
                down vote









                SomeFunctionHandler extends the SpringBootRequestHandler, so it can override the handleRequest method to get access to the AWS lambda Context object.



                public class SomeFunctionHandler extends SpringBootRequestHandler<SomeRequest, SomeResponse> 

                private static final Logger logger = LoggerFactory.getLogger(SomeFunctionHandler.class);

                @Override
                public Object handleRequest(SomeRequest event, Context context)
                logger.info("ARN=" + context.getInvokedFunctionArn());
                return super.handleRequest(event, context);








                share|improve this answer












                SomeFunctionHandler extends the SpringBootRequestHandler, so it can override the handleRequest method to get access to the AWS lambda Context object.



                public class SomeFunctionHandler extends SpringBootRequestHandler<SomeRequest, SomeResponse> 

                private static final Logger logger = LoggerFactory.getLogger(SomeFunctionHandler.class);

                @Override
                public Object handleRequest(SomeRequest event, Context context)
                logger.info("ARN=" + context.getInvokedFunctionArn());
                return super.handleRequest(event, context);









                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 12 at 14:55









                emerson

                213




                213



























                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53230452%2faccessing-aws-lambda-context-from-spring-cloud-function%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to how show current date and time by default on contact form 7 in WordPress without taking input from user in datetimepicker

                    Syphilis

                    Darth Vader #20