GH-1187 Fix AWS Context initialization for Custom Runtime

Updated sample to show that Context is not null

Resolves #1187
This commit is contained in:
Oleg Zhurakousky
2025-01-13 13:23:15 +01:00
parent a0405d306c
commit 26ef1fa76e
5 changed files with 114 additions and 9 deletions

View File

@@ -42,7 +42,11 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>

View File

@@ -47,7 +47,6 @@
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>

View File

@@ -7,10 +7,14 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.function.adapter.aws.AWSLambdaUtils;
import org.springframework.context.annotation.Bean;
// import org.springframework.cloud.function.context.DefaultMessageRoutingHandler;
// import org.springframework.cloud.function.context.MessageRoutingCallback;
// import org.springframework.messaging.Message;
import org.springframework.messaging.Message;
import com.amazonaws.services.lambda.runtime.Context;
@SpringBootApplication
public class NativeFunctionApplication {
@@ -33,10 +37,11 @@ public class NativeFunctionApplication {
// }
@Bean
public Function<String, String> uppercase() {
return v -> {
System.out.println("Uppercasing " + v);
return v.toUpperCase(Locale.ROOT);
public Function<Message<String>, String> uppercase() {
return message -> {
System.out.println("AWS Context: " + message.getHeaders().get(AWSLambdaUtils.AWS_CONTEXT));
System.out.println("Uppercasing " + message.getPayload());
return message.getPayload().toUpperCase(Locale.ROOT);
};
}