Updating data into DynamoDB using Lambda

Practical Serverless Development for Beginners AWS Lambda - Serverless Functions
8 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$49.99
List Price:  $69.99
You save:  $20
€46.60
List Price:  €65.24
You save:  €18.64
£39.85
List Price:  £55.79
You save:  £15.94
CA$68.41
List Price:  CA$95.78
You save:  CA$27.37
A$76.53
List Price:  A$107.15
You save:  A$30.61
S$68.03
List Price:  S$95.25
You save:  S$27.21
HK$390.80
List Price:  HK$547.16
You save:  HK$156.35
CHF 45.55
List Price:  CHF 63.78
You save:  CHF 18.22
NOK kr550.70
List Price:  NOK kr771.03
You save:  NOK kr220.32
DKK kr347.59
List Price:  DKK kr486.66
You save:  DKK kr139.06
NZ$84.03
List Price:  NZ$117.65
You save:  NZ$33.61
د.إ183.60
List Price:  د.إ257.05
You save:  د.إ73.45
৳5,487.36
List Price:  ৳7,682.75
You save:  ৳2,195.38
₹4,170.67
List Price:  ₹5,839.27
You save:  ₹1,668.60
RM238.57
List Price:  RM334.02
You save:  RM95.45
₦66,243.24
List Price:  ₦92,745.84
You save:  ₦26,502.60
₨13,919.64
List Price:  ₨19,488.62
You save:  ₨5,568.97
฿1,852.73
List Price:  ฿2,593.98
You save:  ฿741.24
₺1,618.89
List Price:  ₺2,266.58
You save:  ₺647.68
B$255.86
List Price:  B$358.23
You save:  B$102.36
R934.26
List Price:  R1,308.04
You save:  R373.78
Лв91.20
List Price:  Лв127.69
You save:  Лв36.48
₩68,991.47
List Price:  ₩96,593.58
You save:  ₩27,602.11
₪187.21
List Price:  ₪262.11
You save:  ₪74.89
₱2,883.99
List Price:  ₱4,037.82
You save:  ₱1,153.82
¥7,844.28
List Price:  ¥10,982.62
You save:  ¥3,138.34
MX$849.16
List Price:  MX$1,188.90
You save:  MX$339.73
QR182.39
List Price:  QR255.36
You save:  QR72.97
P685.83
List Price:  P960.21
You save:  P274.38
KSh6,625.24
List Price:  KSh9,275.87
You save:  KSh2,650.62
E£2,395.76
List Price:  E£3,354.25
You save:  E£958.49
ብር2,870.01
List Price:  ብር4,018.25
You save:  ብር1,148.23
Kz41,742.64
List Price:  Kz58,443.04
You save:  Kz16,700.40
CLP$47,160.37
List Price:  CLP$66,028.30
You save:  CLP$18,867.92
CN¥361.90
List Price:  CN¥506.69
You save:  CN¥144.79
RD$2,925.21
List Price:  RD$4,095.54
You save:  RD$1,170.32
DA6,709.48
List Price:  DA9,393.81
You save:  DA2,684.33
FJ$113.15
List Price:  FJ$158.42
You save:  FJ$45.27
Q388.57
List Price:  Q544.03
You save:  Q155.46
GY$10,460.61
List Price:  GY$14,645.70
You save:  GY$4,185.08
ISK kr7,004.59
List Price:  ISK kr9,806.99
You save:  ISK kr2,802.40
DH506.05
List Price:  DH708.51
You save:  DH202.46
L882.28
List Price:  L1,235.26
You save:  L352.98
ден2,874.42
List Price:  ден4,024.43
You save:  ден1,150
MOP$403.10
List Price:  MOP$564.37
You save:  MOP$161.27
N$937.41
List Price:  N$1,312.44
You save:  N$375.03
C$1,849.89
List Price:  C$2,589.99
You save:  C$740.10
रु6,678.31
List Price:  रु9,350.18
You save:  रु2,671.86
S/187.13
List Price:  S/262
You save:  S/74.86
K190.39
List Price:  K266.57
You save:  K76.17
SAR187.48
List Price:  SAR262.49
You save:  SAR75.01
ZK1,332.51
List Price:  ZK1,865.62
You save:  ZK533.11
L231.86
List Price:  L324.62
You save:  L92.76
Kč1,172.97
List Price:  Kč1,642.25
You save:  Kč469.28
Ft18,205.74
List Price:  Ft25,489.50
You save:  Ft7,283.75
SEK kr547.93
List Price:  SEK kr767.15
You save:  SEK kr219.21
ARS$43,829.95
List Price:  ARS$61,365.44
You save:  ARS$17,535.49
Bs346.26
List Price:  Bs484.79
You save:  Bs138.53
COP$194,628.58
List Price:  COP$272,495.59
You save:  COP$77,867
₡25,090.62
List Price:  ₡35,128.88
You save:  ₡10,038.25
L1,234.87
List Price:  L1,728.92
You save:  L494.05
₲372,339.59
List Price:  ₲521,305.22
You save:  ₲148,965.63
$U1,915.65
List Price:  $U2,682.06
You save:  $U766.41
zł201.49
List Price:  zł282.11
You save:  zł80.61
Already have an account? Log In

Transcript

Okay, in the last lecture, we created a lambda function. And we were able to save data into dynamodb. In this lecture, we are going to update. Now, the documentation I was talking about. And we had an initial view about this function, which creates a new item or replaces an old item. So if the ID is same in this case, then it's going to replace your row with this new set of records.

Now what we are going to do get us going to copy this lambda function and we are going to create a funk function which will update data into Dynamo dB. Let's name it update inventory. Node JS runtime environment is 8.2. We are going to choose this time existing role and this is add inventory. What we created a couple of lectures back. Now what we are going to do once we have created this initial update inventor will function we are going to replace with what we had created.

Of course, we don't want to create and write this all code every time that we need to do one thing we need to define this lambda environment variable. And as you remember to access this dynamodb table name inventory. Now once everything has been set up, of course the syntax or to update would be a little bit different here. So what we are going to do here so we need a key. So key is a kind of primary key in other RDBMS languages. In Dynamo DB context, it is hash key.

So it is a what so here's the primary ID in this case is ID primary key. So what we are Going to add is the hash key. And hash key here is ID. And of course, later we'll also get that Id dynamically from our request body. We keep all this dynamic variable, variable, same, let's let's replace it with event ID, and everything is going to be same. Now, what we have to do is what we want to update with, so we have to replace all other variables, update variables, what we wanted to update with, and we just have to replace with update expression a couple of ways to do it.

You can refer a dynamodb documentation with AWS SDK at any point of time what we are going to discuss and you should be knowing this method when you want to update your information and dynamodb table So, what we are going to define is update expression like name is in stock.an in stock. So, hash actually defines what variable name we want to replace with later on. And colon signifies or tells us that what should be the value here. So, what what what we are going to do here is we are going to define all those variables what we want to update with all hashes. And colon as I said, is used to replace with the actual values. Now, a couple of things we have to do, once we have updated with update expressions, we have to replace with expression attribute names and expression attribute values.

Expression attribute names are has names what we have defined there, and values with the actual values come in time. From the request body so what we are going to do quickly is we are going to replace and define those all houses with the actual variable names in dynamodb table. So name the actual value of the hash name is name name, which is in the dynamodb table itself, and for multiple values, and if you are aware how JSON script or JSON data works just separate with comma and define all those dynamodb attributes with actual actual attribute names in dynamodb table. So what we are going to do we are going to replace with all these variable names with actual dynamodb attributes here. And here is the thing we are going to replace rather writing everything and especially attribute values as I said earlier, This will be replaced with the actual Dynamo DB not not not Dynamo DB but request body variable.

So what we are getting from a request body. So, we are going to replace even talk name as we have done it earlier in his talk with even talk is in stock and total in stock as we are going to define here even talk total in stock once we have done everything we have all our parents ready and we are just ready to execute but let's just before this we are going to update with the update method here. So, we can get to know we can apply this update in the dynamodb table here. And once we have saved all this informations here and let's see what has been what we should be defining here in it. We can just copy those all you know the values what we had defined in our earlier lecture. And we can just copy paste everything.

But let's, let's just configure here everything. So what we are saying here, update event, it has to be unique. So you can give any event name you are happy with. And just define all those request bodies like ID and everything ID. Name is in stock, and availability, status. In this in this request body, we can we can just copy this JSON object.

Oops, let's go back. And let's just copy this all JSON object objects here. So we can define our request body We can copy this from a dynamo DB in a text view from we can we can we can get it from let's let's define everything here. So we can we can configure our request body. Yeah. So we can just define everything here.

And we can define all the values what we are after to update with. Of course ID it needs to be there in the database. When by writing API we can first of all validate whether that ID is in dynamodb or not, but for the sake of this lecture, what we are we are not going to worry too much about that Id exists or not. So once we have defined everything in our request model let's let's say updated so we can be sure that what values we are going to update Submit. Now once we have to find everything here, let's save this lambda function. And once we have saved this lambda function, let's execute it.

And once it has executed successfully, we shouldn't have any error. And now if we see this well, magic happened. The records have been updated now. And that's how you actually update any data in dynamodb. So that's for all this lecture, and I'll see you in the next lecture.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.