4
4
5
5
Provides helper classes/methods to use alongside ` aws-lambda-java-events ` in order to transform Lambda input event model
6
6
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).
8
8
9
9
10
10
### Getting started
@@ -16,7 +16,7 @@ Add the following Apache Maven dependencies to your `pom.xml` file:
16
16
<dependency >
17
17
<groupId >com.amazonaws</groupId >
18
18
<artifactId >aws-lambda-java-events-sdk-transformer</artifactId >
19
- <version >2 .0.8 </version >
19
+ <version >3 .0.0 </version >
20
20
</dependency >
21
21
<dependency >
22
22
<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
33
33
<dependency >
34
34
<groupId >software.amazon.awssdk</groupId >
35
35
<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 >
37
49
</dependency >
38
50
</dependencies >
39
51
```
40
52
41
53
42
54
### Example Usage
43
55
56
+ #### SDK v2
57
+
44
58
To convert a full ` DynamodbEvent ` object to an SDK v2 compatible ` List<Record> ` :
59
+
45
60
``` java
46
- import com.amazonaws.services.lambda.runtime.events.transformers.DynamodbEventTransformer ;
61
+ import com.amazonaws.services.lambda.runtime.events.transformers.v2. DynamodbEventTransformer ;
47
62
48
63
public class DDBEventProcessor implements RequestHandler<DynamodbEvent , String > {
49
64
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
+ }
55
70
}
56
71
```
57
72
58
73
To convert a single ` DynamodbEvent.DynamodbStreamRecord ` object to an SDK v2 compatible ` Record ` :
74
+
59
75
``` java
60
- import com.amazonaws.services.lambda.runtime.events.transformers.dynamodb.DynamodbRecordTransformer ;
76
+ import com.amazonaws.services.lambda.runtime.events.transformers.v2. dynamodb.DynamodbRecordTransformer ;
61
77
62
78
public class MyClass {
63
79
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
+ }
69
85
}
70
86
```
71
87
72
88
To convert a ` StreamRecord ` object originating from a ` DynamodbEvent ` to an SDK v2 compatible ` StreamRecord ` :
89
+
73
90
``` java
74
- import com.amazonaws.services.lambda.runtime.events.transformers.dynamodb.DynamodbStreamRecordTransformer ;
91
+ import com.amazonaws.services.lambda.runtime.events.transformers.v2. dynamodb.DynamodbStreamRecordTransformer ;
75
92
76
93
public class MyClass {
77
94
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
+ }
84
101
}
85
102
```
86
103
87
104
To convert an ` AttributeValue ` object originating from a ` DynamodbEvent ` to an SDK v2 compatible ` AttributeValue ` :
105
+
88
106
``` java
89
- import com.amazonaws.services.lambda.runtime.events.transformers.dynamodb.DynamodbAttributeValueTransformer ;
107
+ import com.amazonaws.services.lambda.runtime.events.transformers.v2. dynamodb.DynamodbAttributeValueTransformer ;
90
108
91
109
public class MyClass {
92
110
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
+ }
99
117
}
100
118
```
101
119
102
120
To 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
+
103
202
``` java
104
- import com.amazonaws.services.lambda.runtime.events.transformers.dynamodb.DynamodbIdentityTransformer ;
203
+ import com.amazonaws.services.lambda.runtime.events.transformers.v1. dynamodb.DynamodbIdentityTransformer ;
105
204
106
205
public class MyClass {
107
206
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
+ }
114
213
}
115
214
```
0 commit comments