Skip to content

Commit 4569e72

Browse files
committed
Merge branch 'master' into fix_headers_insensitive
2 parents 6e1a2b0 + 4fe08f4 commit 4569e72

File tree

3,315 files changed

+2164
-645514
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,315 files changed

+2164
-645514
lines changed

.github/workflows/samples.yml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# This workflow will be triggered if there will be changes to aws-lambda-java-core
2+
# package and it builds the package and the packages that depend on it.
3+
4+
name: Java CI samples
5+
6+
on:
7+
push:
8+
branches: [ master ]
9+
paths:
10+
- 'samples/kinesis-firehose-event-handler/**'
11+
pull_request:
12+
branches: [ '*' ]
13+
paths:
14+
- 'samples/kinesis-firehose-event-handler/**'
15+
16+
jobs:
17+
build:
18+
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- uses: actions/checkout@v2
23+
- name: Set up JDK 1.8
24+
uses: actions/setup-java@v1
25+
with:
26+
java-version: 1.8
27+
28+
# Install events module
29+
- name: Install events with Maven
30+
run: mvn -B install --file aws-lambda-java-events/pom.xml
31+
# Install tests module
32+
- name: Install tests with Maven
33+
run: mvn -B install --file aws-lambda-java-tests/pom.xml
34+
35+
# Install samples
36+
- name: Install Kinesis Firehose Sample with Maven
37+
run: mvn -B install --file samples/kinesis-firehose-event-handler/pom.xml

README.md

+20-20
Original file line numberDiff line numberDiff line change
@@ -37,27 +37,27 @@ ___
3737
<dependency>
3838
<groupId>com.amazonaws</groupId>
3939
<artifactId>aws-lambda-java-events</artifactId>
40-
<version>3.8.0</version>
40+
<version>3.11.0</version>
4141
</dependency>
4242
<dependency>
4343
<groupId>com.amazonaws</groupId>
4444
<artifactId>aws-lambda-java-events-sdk-transformer</artifactId>
45-
<version>3.0.3</version>
45+
<version>3.0.7</version>
4646
</dependency>
4747
<dependency>
4848
<groupId>com.amazonaws</groupId>
4949
<artifactId>aws-lambda-java-log4j2</artifactId>
50-
<version>1.2.0</version>
50+
<version>1.5.0</version>
5151
</dependency>
5252
<dependency>
5353
<groupId>com.amazonaws</groupId>
5454
<artifactId>aws-lambda-java-runtime-interface-client</artifactId>
55-
<version>1.0.0</version>
55+
<version>2.0.0</version>
5656
</dependency>
5757
<dependency>
5858
<groupId>com.amazonaws</groupId>
5959
<artifactId>aws-lambda-java-tests</artifactId>
60-
<version>1.0.1</version>
60+
<version>1.1.1</version>
6161
<scope>test</scope>
6262
</dependency>
6363
```
@@ -66,33 +66,33 @@ ___
6666

6767
```groovy
6868
'com.amazonaws:aws-lambda-java-core:1.2.1'
69-
'com.amazonaws:aws-lambda-java-events:3.8.0'
70-
'com.amazonaws:aws-lambda-java-events-sdk-transformer:3.0.3'
71-
'com.amazonaws:aws-lambda-java-log4j2:1.2.0'
72-
'com.amazonaws:aws-lambda-java-runtime-interface-client:1.0.0'
73-
'com.amazonaws:aws-lambda-java-tests:1.0.1'
69+
'com.amazonaws:aws-lambda-java-events:3.11.0'
70+
'com.amazonaws:aws-lambda-java-events-sdk-transformer:3.0.7'
71+
'com.amazonaws:aws-lambda-java-log4j2:1.5.0'
72+
'com.amazonaws:aws-lambda-java-runtime-interface-client:2.0.0'
73+
'com.amazonaws:aws-lambda-java-tests:1.1.1'
7474
```
7575

7676
[Leiningen](http://leiningen.org) and [Boot](http://boot-clj.com)
7777

7878
```clojure
7979
[com.amazonaws/aws-lambda-java-core "1.2.1"]
80-
[com.amazonaws/aws-lambda-java-events "3.8.0"]
81-
[com.amazonaws/aws-lambda-java-events-sdk-transformer "3.0.3"]
82-
[com.amazonaws/aws-lambda-java-log4j2 "1.2.0"]
83-
[com.amazonaws/aws-lambda-java-runtime-interface-client "1.0.0"]
84-
[com.amazonaws/aws-lambda-java-tests "1.0.1"]
80+
[com.amazonaws/aws-lambda-java-events "3.11.0"]
81+
[com.amazonaws/aws-lambda-java-events-sdk-transformer "3.0.7"]
82+
[com.amazonaws/aws-lambda-java-log4j2 "1.5.0"]
83+
[com.amazonaws/aws-lambda-java-runtime-interface-client "2.0.0"]
84+
[com.amazonaws/aws-lambda-java-tests "1.1.1"]
8585
```
8686

8787
[sbt](http://www.scala-sbt.org)
8888

8989
```scala
9090
"com.amazonaws" % "aws-lambda-java-core" % "1.2.1"
91-
"com.amazonaws" % "aws-lambda-java-events" % "3.8.0"
92-
"com.amazonaws" % "aws-lambda-java-events-sdk-transformer" % "3.0.3"
93-
"com.amazonaws" % "aws-lambda-java-log4j2" % "1.2.0"
94-
"com.amazonaws" % "aws-lambda-java-runtime-interface-client" % "1.0.0"
95-
"com.amazonaws" % "aws-lambda-java-tests" % "1.0.1"
91+
"com.amazonaws" % "aws-lambda-java-events" % "3.11.0"
92+
"com.amazonaws" % "aws-lambda-java-events-sdk-transformer" % "3.0.7"
93+
"com.amazonaws" % "aws-lambda-java-log4j2" % "1.5.0"
94+
"com.amazonaws" % "aws-lambda-java-runtime-interface-client" % "2.0.0"
95+
"com.amazonaws" % "aws-lambda-java-tests" % "1.1.1"
9696
```
9797

9898
# Using aws-lambda-java-core

aws-lambda-java-events-sdk-transformer/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ Add the following Apache Maven dependencies to your `pom.xml` file:
1616
<dependency>
1717
<groupId>com.amazonaws</groupId>
1818
<artifactId>aws-lambda-java-events-sdk-transformer</artifactId>
19-
<version>3.0.3</version>
19+
<version>3.0.7</version>
2020
</dependency>
2121
<dependency>
2222
<groupId>com.amazonaws</groupId>
2323
<artifactId>aws-lambda-java-events</artifactId>
24-
<version>3.8.0</version>
24+
<version>3.11.0</version>
2525
</dependency>
2626
</dependencies>
2727
```

aws-lambda-java-events-sdk-transformer/RELEASE.CHANGELOG.md

+16
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
### November 24, 2021
2+
`3.0.7`:
3+
- Bumped `aws-lambda-java-events` to version `3.11.0`
4+
5+
### September 02, 2021
6+
`3.0.6`:
7+
- Fixed NPE when UserIdentity, OldImage, or NewImage is null ([#264](https://github.com/aws/aws-lambda-java-libs/pull/264))
8+
9+
### August 26, 2021
10+
`3.0.5`:
11+
- Bumped `aws-lambda-java-events` to version `3.10.0`
12+
13+
### June 2, 2021
14+
`3.0.4`:
15+
- Bumped `aws-lambda-java-events` to version `3.9.0`
16+
117
### March 24, 2021
218
`3.0.3`:
319
- Bumped `aws-lambda-java-events` to version `3.8.0`

aws-lambda-java-events-sdk-transformer/pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>com.amazonaws</groupId>
77
<artifactId>aws-lambda-java-events-sdk-transformer</artifactId>
8-
<version>3.0.3</version>
8+
<version>3.0.7</version>
99
<packaging>jar</packaging>
1010

1111
<name>AWS Lambda Java Events SDK Transformer Library</name>
@@ -63,7 +63,7 @@
6363
<dependency>
6464
<groupId>com.amazonaws</groupId>
6565
<artifactId>aws-lambda-java-events</artifactId>
66-
<version>3.8.0</version>
66+
<version>3.11.0</version>
6767
<scope>provided</scope>
6868
</dependency>
6969

aws-lambda-java-events-sdk-transformer/src/main/java/com/amazonaws/services/lambda/runtime/events/transformers/v1/dynamodb/DynamodbRecordTransformer.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ public static Record toRecordV1(final DynamodbEvent.DynamodbStreamRecord record)
1616
.withEventSource(record.getEventSource())
1717
.withEventVersion(record.getEventVersion())
1818
.withUserIdentity(
19-
DynamodbIdentityTransformer.toIdentityV1(record.getUserIdentity())
19+
record.getUserIdentity() != null
20+
? DynamodbIdentityTransformer.toIdentityV1(record.getUserIdentity())
21+
: null
2022
);
2123
}
2224
}

aws-lambda-java-events-sdk-transformer/src/main/java/com/amazonaws/services/lambda/runtime/events/transformers/v1/dynamodb/DynamodbStreamRecordTransformer.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,14 @@ public static StreamRecord toStreamRecordV1(final com.amazonaws.services.lambda.
1313
DynamodbAttributeValueTransformer.toAttributeValueMapV1(streamRecord.getKeys())
1414
)
1515
.withNewImage(
16-
DynamodbAttributeValueTransformer.toAttributeValueMapV1(streamRecord.getNewImage())
16+
streamRecord.getNewImage() != null
17+
? DynamodbAttributeValueTransformer.toAttributeValueMapV1(streamRecord.getNewImage())
18+
: null
1719
)
1820
.withOldImage(
19-
DynamodbAttributeValueTransformer.toAttributeValueMapV1(streamRecord.getOldImage())
21+
streamRecord.getOldImage() != null
22+
? DynamodbAttributeValueTransformer.toAttributeValueMapV1(streamRecord.getOldImage())
23+
: null
2024
)
2125
.withSequenceNumber(streamRecord.getSequenceNumber())
2226
.withSizeBytes(streamRecord.getSizeBytes())

aws-lambda-java-events-sdk-transformer/src/test/java/com/amazonaws/services/lambda/runtime/events/transformers/v1/dynamodb/DynamodbRecordTransformerTest.java

+11
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.amazonaws.services.dynamodbv2.model.OperationType;
44
import com.amazonaws.services.dynamodbv2.model.Record;
55
import com.amazonaws.services.lambda.runtime.events.DynamodbEvent;
6+
import com.amazonaws.services.lambda.runtime.events.transformers.v1.DynamodbEventTransformer;
67
import org.junit.jupiter.api.Assertions;
78
import org.junit.jupiter.api.Test;
89

@@ -49,4 +50,14 @@ public void testToRecordV1() {
4950
Assertions.assertEquals(record_v1, convertedRecord);
5051
}
5152

53+
@Test
54+
public void testToRecordV1WhenUserIdentityIsNull() {
55+
DynamodbEvent.DynamodbStreamRecord record = record_event.clone();
56+
record.setUserIdentity(null);
57+
58+
Assertions.assertDoesNotThrow(() -> {
59+
com.amazonaws.services.lambda.runtime.events.transformers.v1.dynamodb.DynamodbRecordTransformer.toRecordV1(record);
60+
});
61+
}
62+
5263
}

aws-lambda-java-events-sdk-transformer/src/test/java/com/amazonaws/services/lambda/runtime/events/transformers/v1/dynamodb/DynamodbStreamRecordTransformerTest.java

+20
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,24 @@ public void testToStreamRecordV1() {
127127
StreamRecord convertedStreamRecord = DynamodbStreamRecordTransformer.toStreamRecordV1(streamRecord_event);
128128
Assertions.assertEquals(streamRecord_v1, convertedStreamRecord);
129129
}
130+
131+
@Test
132+
public void testToStreamRecordV1WhenOldImageIsNull() {
133+
com.amazonaws.services.lambda.runtime.events.models.dynamodb.StreamRecord streamRecord = streamRecord_event.clone();
134+
streamRecord.setOldImage(null);
135+
136+
Assertions.assertDoesNotThrow(() -> {
137+
com.amazonaws.services.lambda.runtime.events.transformers.v1.dynamodb.DynamodbStreamRecordTransformer.toStreamRecordV1(streamRecord);
138+
});
139+
}
140+
141+
@Test
142+
public void testToStreamRecordV1WhenNewImageIsNull() {
143+
com.amazonaws.services.lambda.runtime.events.models.dynamodb.StreamRecord streamRecord = streamRecord_event.clone();
144+
streamRecord.setNewImage(null);
145+
146+
Assertions.assertDoesNotThrow(() -> {
147+
com.amazonaws.services.lambda.runtime.events.transformers.v1.dynamodb.DynamodbStreamRecordTransformer.toStreamRecordV1(streamRecord);
148+
});
149+
}
130150
}

aws-lambda-java-events/README.md

+19-4
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,24 @@
1212
* `APIGatewayV2WebSocketResponse`
1313
* `ApplicationLoadBalancerRequestEvent`
1414
* `ApplicationLoadBalancerResponseEvent`
15+
* `AppSyncLambdaAuthorizerEvent`
16+
* `AppSyncLambdaAuthorizerResponse`
1517
* `CloudFormationCustomResourceEvent`
1618
* `CloudFrontEvent`
1719
* `CloudWatchLogsEvent`
1820
* `CodeCommitEvent`
1921
* `CognitoEvent`
22+
* `CognitoUserPoolCreateAuthChallengeEvent`
23+
* `CognitoUserPoolCustomMessageEvent`
24+
* `CognitoUserPoolDefineAuthChallengeEvent`
25+
* `CognitoUserPoolEvent`
26+
* `CognitoUserPoolMigrateUserEvent`
27+
* `CognitoUserPoolPostAuthenticationEvent`
28+
* `CognitoUserPoolPostConfirmationEvent`
29+
* `CognitoUserPoolPreAuthenticationEvent`
30+
* `CognitoUserPoolPreSignUpEvent`
31+
* `CognitoUserPoolPreTokenGenerationEvent`
32+
* `CognitoUserPoolVerifyAuthChallengeResponseEvent`
2033
* `ConfigEvent`
2134
* `ConnectEvent`
2235
* `DynamodbEvent`
@@ -31,13 +44,15 @@
3144
* `KinesisFirehoseEvent`
3245
* `LambdaDestinationEvent`
3346
* `LexEvent`
47+
* `RabbitMQEvent`
3448
* `S3BatchEvent`
3549
* `S3BatchResponse`
3650
* `S3Event`
3751
* `ScheduledEvent`
3852
* `SecretsManagerRotationEvent`
3953
* `SimpleIAMPolicyResponse`
4054
* `SNSEvent`
55+
* `SQSBatchResponse`
4156
* `SQSEvent`
4257

4358
*As of version `3.0.0`, users are no longer required to pull in SDK dependencies in order to use this library.*
@@ -58,7 +73,7 @@
5873
<dependency>
5974
<groupId>com.amazonaws</groupId>
6075
<artifactId>aws-lambda-java-events</artifactId>
61-
<version>3.8.0</version>
76+
<version>3.11.0</version>
6277
</dependency>
6378
...
6479
</dependencies>
@@ -68,19 +83,19 @@
6883

6984
```groovy
7085
'com.amazonaws:aws-lambda-java-core:1.2.1'
71-
'com.amazonaws:aws-lambda-java-events:3.8.0'
86+
'com.amazonaws:aws-lambda-java-events:3.11.0'
7287
```
7388

7489
[Leiningen](http://leiningen.org) and [Boot](http://boot-clj.com)
7590

7691
```clojure
7792
[com.amazonaws/aws-lambda-java-core "1.2.1"]
78-
[com.amazonaws/aws-lambda-java-events "3.8.0"]
93+
[com.amazonaws/aws-lambda-java-events "3.11.0"]
7994
```
8095

8196
[sbt](http://www.scala-sbt.org)
8297

8398
```scala
8499
"com.amazonaws" % "aws-lambda-java-core" % "1.2.1"
85-
"com.amazonaws" % "aws-lambda-java-events" % "3.8.0"
100+
"com.amazonaws" % "aws-lambda-java-events" % "3.11.0"
86101
```

aws-lambda-java-events/RELEASE.CHANGELOG.md

+36
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,39 @@
1+
### November 24, 2021
2+
`3.11.0`:
3+
- Added support for SQSaaES Partial Batch Feature ([#279](https://github.com/aws/aws-lambda-java-libs/pull/279))
4+
- `SQSBatchResponse`
5+
6+
### August 26, 2021
7+
`3.10.0`:
8+
- Added headers in `KafkaEventRecord` ([#260](https://github.com/aws/aws-lambda-java-libs/pull/260))
9+
- Added support for AppSync Lambda Authorizer ([#263](https://github.com/aws/aws-lambda-java-libs/pull/263))
10+
- `AppSyncLambdaAuthorizerEvent`
11+
- `AppSyncLambdaAuthorizerResponse`
12+
- Added support for RabbitMQ Event ([#256](https://github.com/aws/aws-lambda-java-libs/pull/256))
13+
- `RabbitMQEvent`
14+
- Added missing `version` field to `APIGatewayProxyRequestEvent` ([#258](https://github.com/aws/aws-lambda-java-libs/pull/258))
15+
16+
### June 2, 2021
17+
`3.9.0`:
18+
- Added support for Cognito User Pool events ([#175](https://github.com/aws/aws-lambda-java-libs/pull/175))
19+
- `CognitoUserPoolCreateAuthChallengeEvent`
20+
- `CognitoUserPoolCustomMessageEvent`
21+
- `CognitoUserPoolDefineAuthChallengeEvent`
22+
- `CognitoUserPoolEvent`
23+
- `CognitoUserPoolMigrateUserEvent`
24+
- `CognitoUserPoolPostAuthenticationEvent`
25+
- `CognitoUserPoolPostConfirmationEvent`
26+
- `CognitoUserPoolPreAuthenticationEvent`
27+
- `CognitoUserPoolPreSignUpEvent`
28+
- `CognitoUserPoolPreTokenGenerationEvent`
29+
- `CognitoUserPoolVerifyAuthChallengeResponseEvent`
30+
- Added support for IAM Policy Responses for API Gateway REST APIs ([#213](https://github.com/aws/aws-lambda-java-libs/pull/213))
31+
- `IamPolicyResponseV1`
32+
- Added default IntelliJ equals, hashCode and toString methods to `APIGatewayV2WebSocketEvent` ([#248](https://github.com/aws/aws-lambda-java-libs/pull/248))
33+
- Fixed toString method in `KinesisEvent` ([#245](https://github.com/aws/aws-lambda-java-libs/pull/245))
34+
- Changed `body` field to lowercase in `APIGatewayV2HTTPEvent` ([#236](https://github.com/aws/aws-lambda-java-libs/pull/236))
35+
- Added `principalOrgId` field to `APIGatewayProxyRequestEvent` ([#247](https://github.com/aws/aws-lambda-java-libs/pull/247))
36+
137
### March 24, 2021
238
`3.8.0`:
339
- Added support for S3 Object Lambda event ([#229](https://github.com/aws/aws-lambda-java-libs/pull/229))

aws-lambda-java-events/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>com.amazonaws</groupId>
77
<artifactId>aws-lambda-java-events</artifactId>
8-
<version>3.8.0</version>
8+
<version>3.11.0</version>
99
<packaging>jar</packaging>
1010

1111
<name>AWS Lambda Java Events Library</name>

0 commit comments

Comments
 (0)