Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/runtime-interface-client_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ jobs:
with:
java-version: 8
distribution: corretto

- name: Build and install core dependency locally
working-directory: ./aws-lambda-java-core
run: mvn clean install

- name: Build and install serialization dependency locally
working-directory: ./aws-lambda-java-serialization
Expand Down Expand Up @@ -54,6 +58,10 @@ jobs:

- name: Available buildx platforms
run: echo ${{ steps.buildx.outputs.platforms }}

- name: Build and install core dependency locally
working-directory: ./aws-lambda-java-core
run: mvn clean install

- name: Build and install serialization dependency locally
working-directory: ./aws-lambda-java-serialization
Expand Down
4 changes: 4 additions & 0 deletions aws-lambda-java-core/RELEASE.CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### September 3, 2025
`1.4.0`
- Getter support for x-ray trace ID through the Context object

### May 26, 2025
`1.3.0`
- Adding support for multi tenancy ([#545](https://github.com/aws/aws-lambda-java-libs/pull/545))
Expand Down
2 changes: 1 addition & 1 deletion aws-lambda-java-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.3.0</version>
<version>1.4.0</version>
<packaging>jar</packaging>

<name>AWS Lambda Java Core Library</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,14 @@ public interface Context {
default String getTenantId() {
return null;
}

/**
*
* Returns the X-Ray trace ID associated with the request.
*
* @return null by default
*/
default String getXrayTraceId() {
return null;
}
}
2 changes: 1 addition & 1 deletion aws-lambda-java-runtime-interface-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.3.0</version>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,7 @@ public ByteArrayOutputStream call(InvocationRequest request) throws Error, Excep
LambdaEnvironment.FUNCTION_VERSION,
request.getInvokedFunctionArn(),
request.getTenantId(),
request.getXrayTraceId(),
clientContext
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ public class LambdaContext implements Context {
private final CognitoIdentity cognitoIdentity;
private final ClientContext clientContext;
private final String tenantId;
private final String xrayTraceId;
private final LambdaLogger logger;

public LambdaContext(
Expand All @@ -36,6 +37,7 @@ public LambdaContext(
String functionVersion,
String invokedFunctionArn,
String tenantId,
String xrayTraceId,
ClientContext clientContext
) {
this.memoryLimit = memoryLimit;
Expand All @@ -49,6 +51,7 @@ public LambdaContext(
this.functionVersion = functionVersion;
this.invokedFunctionArn = invokedFunctionArn;
this.tenantId = tenantId;
this.xrayTraceId = xrayTraceId;
this.logger = com.amazonaws.services.lambda.runtime.LambdaRuntime.getLogger();
}

Expand Down Expand Up @@ -98,6 +101,10 @@ public String getTenantId() {
return tenantId;
}

public String getXrayTraceId() {
return xrayTraceId;
}

public LambdaLogger getLogger() {
return logger;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public class LambdaContextTest {
private static final LambdaClientContext CLIENT_CONTEXT = new LambdaClientContext();
public static final int MEMORY_LIMIT = 128;
public static final String TENANT_ID = "tenant-id";
public static final String X_RAY_TRACE_ID = "x-ray-trace-id";

@Test
public void getRemainingTimeInMillis() {
Expand Down Expand Up @@ -55,6 +56,6 @@ public void getRemainingTimeInMillis_Deadline() throws InterruptedException {

private LambdaContext createContextWithDeadline(long deadlineTimeInMs) {
return new LambdaContext(MEMORY_LIMIT, deadlineTimeInMs, REQUEST_ID, LOG_GROUP_NAME, LOG_STREAM_NAME,
FUNCTION_NAME, IDENTITY, FUNCTION_VERSION, INVOKED_FUNCTION_ARN, TENANT_ID, CLIENT_CONTEXT);
FUNCTION_NAME, IDENTITY, FUNCTION_VERSION, INVOKED_FUNCTION_ARN, TENANT_ID, X_RAY_TRACE_ID, CLIENT_CONTEXT);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ void testFormattingWithLambdaContext() {
null,
"function-arn",
null,
null,
null
);
assertFormatsString("test log", LogLevel.WARN, context);
Expand All @@ -48,6 +49,7 @@ void testFormattingWithTenantIdInLambdaContext() {
null,
"function-arn",
"tenant-id",
"xray-trace-id",
null
);
assertFormatsString("test log", LogLevel.WARN, context);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ phases:
# Install events (dependency of serialization)
- (cd aws-lambda-java-events && mvn install)
# Install serialization (dependency of RIC)
- (cd aws-lambda-java-core && mvn install)
- (cd aws-lambda-java-serialization && mvn install)
- (cd aws-lambda-java-runtime-interface-client && mvn install -DargLineForReflectionTestOnly="")
- (cd aws-lambda-java-runtime-interface-client/test/integration/test-handler && mvn install)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ phases:
# Install events (dependency of serialization)
- (cd aws-lambda-java-events && mvn install)
# Install serialization (dependency of RIC)
- (cd aws-lambda-java-core && mvn install)
- (cd aws-lambda-java-serialization && mvn install)
- (cd aws-lambda-java-runtime-interface-client && mvn install -DargLineForReflectionTestOnly="")
- (cd aws-lambda-java-runtime-interface-client/test/integration/test-handler && mvn install)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ phases:
# Install events (dependency of serialization)
- (cd aws-lambda-java-events && mvn install)
# Install serialization (dependency of RIC)
- (cd aws-lambda-java-core && mvn install)
- (cd aws-lambda-java-serialization && mvn install)
- (cd aws-lambda-java-runtime-interface-client && mvn install -DmultiArch=false -DargLineForReflectionTestOnly="")
- (cd aws-lambda-java-runtime-interface-client/test/integration/test-handler && mvn install)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ phases:
# Install events (dependency of serialization)
- (cd aws-lambda-java-events && mvn install)
# Install serialization (dependency of RIC)
- (cd aws-lambda-java-core && mvn install)
- (cd aws-lambda-java-serialization && mvn install)
- (cd aws-lambda-java-runtime-interface-client && mvn install -DargLineForReflectionTestOnly="")
- (cd aws-lambda-java-runtime-interface-client/test/integration/test-handler && mvn install)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ phases:
# Install events (dependency of serialization)
- (cd aws-lambda-java-events && mvn install)
# Install serialization (dependency of RIC)
- (cd aws-lambda-java-core && mvn install)
- (cd aws-lambda-java-serialization && mvn install)
- (cd aws-lambda-java-runtime-interface-client && mvn install)
- (cd aws-lambda-java-runtime-interface-client/test/integration/test-handler && mvn install)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ phases:
# Install events (dependency of serialization)
- (cd aws-lambda-java-events && mvn install)
# Install serialization (dependency of RIC)
- (cd aws-lambda-java-core && mvn install)
- (cd aws-lambda-java-serialization && mvn install)
- (cd aws-lambda-java-runtime-interface-client && mvn install)
- (cd aws-lambda-java-runtime-interface-client/test/integration/test-handler && mvn install)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ phases:
# Install events (dependency of serialization)
- (cd aws-lambda-java-events && mvn install)
# Install serialization (dependency of RIC)
- (cd aws-lambda-java-core && mvn install)
- (cd aws-lambda-java-serialization && mvn install)
- (cd aws-lambda-java-runtime-interface-client && mvn install)
- (cd aws-lambda-java-runtime-interface-client/test/integration/test-handler && mvn install)
Expand Down