44
55Provides helper classes/methods to use alongside ` aws-lambda-java-events ` in order to transform Lambda input event model
66 objects into SDK-compatible output model objects
7- (eg. DynamodbEvent to a List of records writable back to DynamoDB through the AWS DynamoDB SDK v2).
7+ (eg. DynamodbEvent to a List of records writable back to DynamoDB through the AWS DynamoDB SDK for Java v1 or v2).
88
99
1010### Getting started
@@ -16,7 +16,7 @@ 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 >2 .0.8 </version >
19+ <version >3 .0.0 </version >
2020 </dependency >
2121 <dependency >
2222 <groupId >com.amazonaws</groupId >
@@ -33,83 +33,182 @@ To use this library as a transformer to the AWS DynamoDB Java SDK v2, also add t
3333 <dependency >
3434 <groupId >software.amazon.awssdk</groupId >
3535 <artifactId >dynamodb</artifactId >
36- <version >2.13.18</version >
36+ <version >2.15.40</version >
37+ </dependency >
38+ </dependencies >
39+ ```
40+
41+ To use this library as a transformer to the AWS DynamoDB Java SDK v1, add the following dependency to your ` pom.xml ` file instead:
42+
43+ ``` xml
44+ <dependencies >
45+ <dependency >
46+ <groupId >com.amazonaws</groupId >
47+ <artifactId >aws-java-sdk-dynamodb</artifactId >
48+ <version >1.11.914</version >
3749 </dependency >
3850</dependencies >
3951```
4052
4153
4254### Example Usage
4355
56+ #### SDK v2
57+
4458To convert a full ` DynamodbEvent ` object to an SDK v2 compatible ` List<Record> ` :
59+
4560``` java
46- import com.amazonaws.services.lambda.runtime.events.transformers.DynamodbEventTransformer ;
61+ import com.amazonaws.services.lambda.runtime.events.transformers.v2. DynamodbEventTransformer ;
4762
4863public class DDBEventProcessor implements RequestHandler<DynamodbEvent , String > {
4964
50- public String handleRequest (DynamodbEvent ddbEvent , Context context ) {
51- // Process input event
52- List<Record > convertedRecords = DynamodbEventTransformer . toRecordsV2(ddbEvent);
53- // Modify records as needed and write back to DynamoDB using the DynamoDB AWS SDK for Java 2.0
54- }
65+ public String handleRequest (DynamodbEvent ddbEvent , Context context ) {
66+ // Process input event
67+ List<Record > convertedRecords = DynamodbEventTransformer . toRecordsV2(ddbEvent);
68+ // Modify records as needed and write back to DynamoDB using the DynamoDB AWS SDK for Java 2.0
69+ }
5570}
5671```
5772
5873To convert a single ` DynamodbEvent.DynamodbStreamRecord ` object to an SDK v2 compatible ` Record ` :
74+
5975``` java
60- import com.amazonaws.services.lambda.runtime.events.transformers.dynamodb.DynamodbRecordTransformer ;
76+ import com.amazonaws.services.lambda.runtime.events.transformers.v2. dynamodb.DynamodbRecordTransformer ;
6177
6278public class MyClass {
6379
64- public void myMethod (DynamodbEvent .DynamodbStreamRecord record ) {
65- // ...
66- Record convertedRecord = DynamodbRecordTransformer . toRecordV2(record);
67- // ...
68- }
80+ public void myMethod (DynamodbEvent .DynamodbStreamRecord record ) {
81+ // ...
82+ Record convertedRecord = DynamodbRecordTransformer . toRecordV2(record);
83+ // ...
84+ }
6985}
7086```
7187
7288To convert a ` StreamRecord ` object originating from a ` DynamodbEvent ` to an SDK v2 compatible ` StreamRecord ` :
89+
7390``` java
74- import com.amazonaws.services.lambda.runtime.events.transformers.dynamodb.DynamodbStreamRecordTransformer ;
91+ import com.amazonaws.services.lambda.runtime.events.transformers.v2. dynamodb.DynamodbStreamRecordTransformer ;
7592
7693public class MyClass {
7794
78- public void myMethod (StreamRecord streamRecord ) {
79- // ...
80- software.amazon.awssdk.services.dynamodb.model. StreamRecord convertedStreamRecord =
81- DynamodbStreamRecordTransformer . toStreamRecordV2(streamRecord);
82- // ...
83- }
95+ public void myMethod (StreamRecord streamRecord ) {
96+ // ...
97+ software.amazon.awssdk.services.dynamodb.model. StreamRecord convertedStreamRecord =
98+ DynamodbStreamRecordTransformer . toStreamRecordV2(streamRecord);
99+ // ...
100+ }
84101}
85102```
86103
87104To convert an ` AttributeValue ` object originating from a ` DynamodbEvent ` to an SDK v2 compatible ` AttributeValue ` :
105+
88106``` java
89- import com.amazonaws.services.lambda.runtime.events.transformers.dynamodb.DynamodbAttributeValueTransformer ;
107+ import com.amazonaws.services.lambda.runtime.events.transformers.v2. dynamodb.DynamodbAttributeValueTransformer ;
90108
91109public class MyClass {
92110
93- public void myMethod (AttributeValue attributeValue ) {
94- // ...
95- software.amazon.awssdk.services.dynamodb.model. AttributeValue convertedAttributeValue =
96- DynamodbAttributeValueTransformer . toAttributeValueV2(attributeValue);
97- // ...
98- }
111+ public void myMethod (AttributeValue attributeValue ) {
112+ // ...
113+ software.amazon.awssdk.services.dynamodb.model. AttributeValue convertedAttributeValue =
114+ DynamodbAttributeValueTransformer . toAttributeValueV2(attributeValue);
115+ // ...
116+ }
99117}
100118```
101119
102120To convert an ` Identity ` object originating from a ` DynamodbEvent ` to an SDK v2 compatible ` Identity ` :
121+
122+ ``` java
123+ import com.amazonaws.services.lambda.runtime.events.transformers.v2.dynamodb.DynamodbIdentityTransformer ;
124+
125+ public class MyClass {
126+
127+ public void myMethod (Identity identity ) {
128+ // ...
129+ software.amazon.awssdk.services.dynamodb.model. Identity convertedIdentity =
130+ DynamodbIdentityTransformer . toIdentityV2(identity);
131+ // ...
132+ }
133+ }
134+ ```
135+
136+ #### SDK v1
137+
138+ To convert a full ` DynamodbEvent ` object to an SDK v1 compatible ` List<Record> ` :
139+
140+ ``` java
141+ import com.amazonaws.services.lambda.runtime.events.transformers.v1.DynamodbEventTransformer ;
142+
143+ public class DDBEventProcessor implements RequestHandler<DynamodbEvent , String > {
144+
145+ public String handleRequest (DynamodbEvent ddbEvent , Context context ) {
146+ // Process input event
147+ List<Record > convertedRecords = DynamodbEventTransformer . toRecordsV1(ddbEvent);
148+ // Modify records as needed and write back to DynamoDB using the DynamoDB AWS SDK for Java 2.0
149+ }
150+ }
151+ ```
152+
153+ To convert a single ` DynamodbEvent.DynamodbStreamRecord ` object to an SDK v1 compatible ` Record ` :
154+
155+ ``` java
156+ import com.amazonaws.services.lambda.runtime.events.transformers.v1.dynamodb.DynamodbRecordTransformer ;
157+
158+ public class MyClass {
159+
160+ public void myMethod (DynamodbEvent .DynamodbStreamRecord record ) {
161+ // ...
162+ Record convertedRecord = DynamodbRecordTransformer . toRecordV1(record);
163+ // ...
164+ }
165+ }
166+ ```
167+
168+ To convert a ` StreamRecord ` object originating from a ` DynamodbEvent ` to an SDK v1 compatible ` StreamRecord ` :
169+
170+ ``` java
171+ import com.amazonaws.services.lambda.runtime.events.transformers.v1.dynamodb.DynamodbStreamRecordTransformer ;
172+
173+ public class MyClass {
174+
175+ public void myMethod (StreamRecord streamRecord ) {
176+ // ...
177+ com.amazonaws.services.dynamodbv2.model. StreamRecord convertedStreamRecord =
178+ DynamodbStreamRecordTransformer . toStreamRecordV1(streamRecord);
179+ // ...
180+ }
181+ }
182+ ```
183+
184+ To convert an ` AttributeValue ` object originating from a ` DynamodbEvent ` to an SDK v1 compatible ` AttributeValue ` :
185+
186+ ``` java
187+ import com.amazonaws.services.lambda.runtime.events.transformers.v1.dynamodb.DynamodbAttributeValueTransformer ;
188+
189+ public class MyClass {
190+
191+ public void myMethod (AttributeValue attributeValue ) {
192+ // ...
193+ com.amazonaws.services.dynamodbv2.model. AttributeValue convertedAttributeValue =
194+ DynamodbAttributeValueTransformer . toAttributeValueV1(attributeValue);
195+ // ...
196+ }
197+ }
198+ ```
199+
200+ To convert an ` Identity ` object originating from a ` DynamodbEvent ` to an SDK v1 compatible ` Identity ` :
201+
103202``` java
104- import com.amazonaws.services.lambda.runtime.events.transformers.dynamodb.DynamodbIdentityTransformer ;
203+ import com.amazonaws.services.lambda.runtime.events.transformers.v1. dynamodb.DynamodbIdentityTransformer ;
105204
106205public class MyClass {
107206
108- public void myMethod (Identity identity ) {
109- // ...
110- software.amazon.awssdk. services.dynamodb .model. Identity convertedIdentity =
111- DynamodbIdentityTransformer . toIdentityV2 (identity);
112- // ...
113- }
207+ public void myMethod (Identity identity ) {
208+ // ...
209+ com.amazonaws. services.dynamodbv2 .model. Identity convertedIdentity =
210+ DynamodbIdentityTransformer . toIdentityV1 (identity);
211+ // ...
212+ }
114213}
115214```
0 commit comments