boarzVideosClipsStatistics

🎬Fixing and failing

⏪
🎦
⏩
Featured in#️⃣EP 137 - Today's Stream
AllClipsEpisodesHas Blog PostZainThaneshKartikTorey
🎬
Krunchmaster Kartik
Build, Break & Fix
ZainboarKartikboar
🎬
Killing it
Special Edition: We don't stop until we get our code working
ZainboarKartikboar
🎬
Schooling in brown countries
Build,Break & Fix // Weekend two hour special
ZainboarKartikboar
🎬
Unprofessional Kartik
Build,Break & Fix // Weekend two hour special
ZainboarKartikboar
🎬
Brain Refresh
Build, Break & Fix // Setting a blog using Hugo and AWS Amplify
ZainboarKartikboar
🎬
Finger driven architecture
Build, Break & Fix // Working out Software design
ZainboarKartikboar
🎬
Fast food driven architecture
Build, Break & Fix // Working out Software design
ZainboarKartikboar
🎬
Can't be ashamed if there's never a first version
Build, Break & Fix
ZainboarKartikboar
🎬
Not a uni student
Build, Break & Fix
ZainboarKartikboar
🎬
Can't work, deploying
30 mins of deployment 😠 || 30 mins of coding 🥲
ZainboarKartikboar
🎬
Two points of contact
Today's Broadcast
ZainboarKartikboar
🎬
CORS exclusive lovin'
Today's Broadcast
ZainboarKartikboar
🎬
Sensible policy
Today's Stream
ZainboarKartikboar
🎬
Shoes in mouth
Today's Stream
ZainboarKartikboar
🎬
The code always wins
Buidl Break Fix
ZainboarKartikboar
🎬
Chicken curry in the brown way
Buidl Break Fix
ZainboarKartikboar
🎬
Finger memory practice
Build Break Fix
ZainboarKartikboar
🎬
See you later Kartik
Build Break Fix
ZainboarKartikboar
🎬
Keep your code looking sexy
Today's Broadcast
ZainboarKartikboar
🎬
Echo chamber Zain
Today's Broadcast
ZainboarKartikboar
🎬
And Kartik never got a job again...
Today's Broadcast
ZainboarKartikboar
🎬
Pilot? What even iz dat kind of fing
Today's Broascast
ZainboarKartikboar
🎬
Fish and Chips
Build - Break - Fix
ZainboarKartikboar
🎬
Backup career
Build - Break - Fix
ZainboarKartikboar
🎬
Professional background? Wat even iz dat?
Today's Broadcast
ZainboarKartikboar
🎬
Private mentorship group
Today's Broadcast
ZainboarKartikboar
🎬
Actually good job advice from Zain
Today's Stream
ZainboarKartikboar
🎬
What a classic!
Today's Stream
ZainboarKartikboar
🎬
Uber driver in training
Today's Stream
ZainboarKartikboar
🎬
Viewer burn
Today's Broadcast
ZainboarKartikboar
🎬
Time for a nap
Today's Broadcast
ZainboarKartikboar
🎬
A sniffer of a line
Today's Broadcast
ZainboarKartikboar
🎬
Slow Zain
Today's Broadcast
ZainboarKartikboar
🎬
No single point of failure
Today's Broadcast
ZainboarKartikboar
🎬
Gambling on bad logic
Today's Broadcast
ZainboarKartikboar
🎬
Estimated Time of New-Careers
Today's Broadcast
ZainboarKartikboar
🎬
Fake Nod
Today's Broadcast
ZainboarKartikboar
🎬
Investing in 'the brand'
NEW SETUP!!
ZainboarKartikboar
🎬
Hitting a brick
NEW SETUP!!
ZainboarKartikboar
🎬
Master of the green screen
NEW SETUP!!
ZainboarKartikboar
🎬
Logiclesstech
NEW SETUP!!
ZainboarKartikboar
🎬
Get him to the greenscreen
Today's Stream
ZainboarKartikboar
🎬
Change the digit to a number
Today's Stream
ZainboarKartikboar
🎬
The benefits of pair programming
Today's Broadcast
ZainboarKartikboar
🎬
Xs, the healthy choice
Today's Stream
ZainboarKartikboar
🎬
Xs vs mother
Today's Stream
ZainboarKartikboar
🎬
The beginning of the end of productivity
Today's Stream
ZainboarKartikboar
🎬
Unprofessional Zain
Today's Stream
ZainboarKartikboar
🎬
Blazing fast
Today's Stream
ZainboarKartikboar
🎬
Premature celebratory dance
Today's Stream
ZainboarKartikboar
🎬
Timeline slippage
Today's Stream
ZainboarKartikboar
🎬
Speed coding
Today's Stream
ZainboarKartikboar
🎬
Sorry I dont know that voice
Today's Broadcast
ZainboarKartikboar
🎬
Definition of done
Today's Broadcast
ZainboarKartikboar
🎬
Amway bites
Today's Broadcast
ZainboarKartikboar
🎬
A cool stream
Today's Broadcast
ZainboarKartikboar
🎬
Spooky Kartik
Today's Broadcast
ZainboarKartikboar
🎬
Water physics 101
Today's Stream
ZainboarKartikboar
🎬
Scrum master Zain
Today's Stream
ZainboarKartikboar
🎬
Zain applying his scrum master skills
Today's Stream
ZainboarKartikboar
🎬
Zain the blunderer
Today's Stream
ZainboarKartikboar
🎬
Healthier than other traditional drinks
Today's Stream
ZainboarKartikboar
🎬
Real headscratcha
Today's Stream
ZainboarKartikboar
🎬
Bracket blues
Today's Stream
ZainboarKartikboar
🎬
If statements are not good practice
Today's Stream
ZainboarKartikboar
🎬
Kappa Quality Code
Today's Stream
ZainboarKartikboar
🎬
Exciting switch statements
Today's Stream
ZainboarKartikboar
🎬
Switched-on hat
Today's Broadcast
ZainboarKartikboar
🎬
Functions, one of the big coding challenges
Today's Broadcast
ZainboarKartikboar
🎬
Break fast
Today's Broadcast
ZainboarKartikboar
🎬
Blood and breath pumping up
Today's Broadcast
ZainboarKartikboar
🎬
Wrong since day 1
Today's Broadcast
ZainboarKartikboar
🎬
Electronic waves
test
ZainboarKartikboar
🎬
RAWR coders
test
ZainboarKartikboar
🎬
Transit in Japawn
test
ZainboarKartikboar
🎬
Xs sponsorship
test
ZainboarKartikboar
🎬
Lame roars
test
ZainboarKartikboar
🎬
Setting up a suppository in Diagon Alley
test
ZainboarKartikboar
🎬
Background Diagon Alley
test
ZainboarKartikboar
🎬
Half speed zain
test
ZainboarKartikboar
🎬
One second penetration
test
ZainboarKartikboar
🎬
Top loading switches
test
ZainboarKartikboar
🎬
Making it rain with CodeBuild
test
ZainboarKartikboar
🎬
What is a sea cable?
Today's Stream
ZainboarKartikboarToreyboar
🎬
If statements are bad practice
Today's Broadcast
ZainboarKartikboar
🎬
Tomato fan
Today's Broadcast
ZainboarKartikboar
🎬
Strong intro
Today's Stream
ZainboarKartikboar
🎬
Impossible URL
Today's Stream
ZainboarKartikboar
🎬
Clever devs
Today's Stream
ZainboarKartikboar
🎬
Always CORS related problems
Today's Stream
ZainboarKartikboar
🎬
CORS headscratcha
Today's Stream
ZainboarKartikboar
🎬
Torres Strait Icelander people
Today's Stream
ZainboarKartikboarThaneshboar
🎬
Icelander or Islander?
Today's Stream
ZainboarKartikboarThaneshboar
🎬
Best Practices
101/200 Episodes
ZainboarThaneshboar
🎬
ROAR coders
105/200
ZainboarThaneshboar
🎬
Diagon Alley? What is that kind of fing?
112/200
ZainboarKartikboar
🎬
C.O.D.I.N.G
113/200
Zainboar
🎬
What's testing
115/200
ZainboarThaneshboar
🎬
CORS coders
115/200
ZainboarThaneshboar
🎬
Complimenting the wrong person
Today's Stream
ZainboarThaneshboar
🎬
Alt+F4 Zain
Today's Stream
ZainboarThaneshboar
▶️
Fixing and failing
Today's Stream
ZainboarThaneshboar
🎬
Brown is always better than white
AWS Websocket + DyanmoDb + Lambda
ZainboarThaneshboar
🎬
Wild street dogs
Today's Stream
ZainboarToreyboar
🎬
The more you know
How to Host Web App Using AWS S3, CloudFront and Route53
ZainboarThaneshboar
🎬
Inactive brain
How To Host Web App In AWS S3 with Custom Domain Using Route 53
ZainboarThaneshboar
🎬
No electricity in Bali
Today's Stream
ZainboarToreyboar
🎬
Francesco
Today's Stream
ZainboarToreyboar
🎬
Indian givers
Compare Hashed Passwords Using Bcryptjs
ZainboarToreyboar
🎬
Cold coffee, cold tea
Today's Stream
ZainboarToreyboar
🎬
Tough questions
Verify Passcode Saving Information to DynamoDB with NodeJs
ZainboarThaneshboar
🎬
Tandoor? Wat even iz dat kind of fing
Today's Stream
ZainboarThaneshboar
🎬
This is why you don't click ops
Today's Stream
ZainboarToreyboar
🎬
Bish Bash Bosh
Get Board Columns from Frontend to Backend NodeJS
ZainboarThaneshboarToreyboar
🎬
Zip first developer
Today's Stream
ZainboarThaneshboar
🎬
Busted again
Today's Stream
Zainboar
🎬
Torey the stinker
Beta Testing Fixes Part 2
ZainboarToreyboar
🎬
Torcoders which are roarers
Beta Testing Fixes Part 3
ZainboarThaneshboar
🎬
Delusional Zain
Beta Testing Fixes Part 3
ZainboarThaneshboar
🎬
Hey guys, torey here
Beta Testing Fixes Part 3
ZainboarThaneshboar
🎬
Zain's going platinum
Today's Stream
ZainboarThaneshboar
🎬
Doggy dog
Today's Stream
ZainboarThaneshboar
🎬
Fartik
How To Test Prevention XSS Attack
ZainboarKartikboar
🎬
Second Favourite
Today's Stream
Zainboar
🎬
Disco Zain
Today's Stream
Zainboar
🎬
Keyboard allergies
Hook Up AWS Websocket
Zainboar
🎬
As you been poopin?
Hook Up Board Columns to Websockets Nodejs + AWS Websockets
Zainboar

Subtitles

0:00:02
[Music]
0:00:24
what is going on guys welcome back to
0:00:27
another session of real breaking fake
0:00:30
brought to you by yours truly the rule
0:00:33
coders yes
0:00:34
um first of all really happy merry
0:00:37
christmas to everyone um i hope you all
0:00:41
enjoyed the christmas eve with your
0:00:44
loved ones
0:00:46
and
0:00:47
had freedom
0:00:49
good day on the christmas days as well
0:00:53
um how was your
0:00:57
christmas finish
0:00:59
um yeah um thanks for asking zayn it was
0:01:03
yeah it was all right just i didn't do
0:01:04
much to be honest uh
0:01:06
i just relaxed and um yeah i could spend
0:01:08
time with
0:01:09
my family
0:01:11
um fantastic
0:01:13
fantastic that's really good to hear um
0:01:16
did you do much for the boxing day
0:01:19
uh no not really as well i just um yeah
0:01:23
just went out but yeah i didn't go to
0:01:24
any of the shops or see any of the sales
0:01:27
um i don't know yeah
0:01:29
right right yeah i went and got some as
0:01:32
in i wanted to buy a few stuffs and i
0:01:35
just really approached the directs
0:01:39
direct strategy in which i picked
0:01:42
everything online first
0:01:44
preserved it and then went straight to
0:01:47
those
0:01:48
shops if i like the material and if it's
0:01:52
perfectly fine i just bought straight
0:01:53
away and then came back
0:01:56
so that was a really productive one but
0:01:59
yeah there were kind of a lot less
0:02:01
people this time
0:02:04
than i expected it to be
0:02:06
i think maybe i i did see that as like i
0:02:09
mean i drove past uh
0:02:11
the mall i didn't actually uh stop there
0:02:13
but i did see like the crowd wasn't
0:02:16
really there like yeah two previous
0:02:18
years
0:02:19
exactly
0:02:20
it could be kobet or maybe people over
0:02:23
it as well i don't know
0:02:24
[Music]
0:02:25
yeah but um the
0:02:27
good thing is that the people who wanted
0:02:30
to
0:02:30
take the advantage took the advantages
0:02:33
and people who wanted to just relaxed
0:02:36
they
0:02:37
relaxed so that's always good as in in
0:02:40
both scenarios for
0:02:43
different people
0:02:44
and hope the viewers also as in
0:02:49
got done what they plan to on these
0:02:51
three as in two and a half days
0:02:54
so
0:02:56
yeah i'm
0:02:57
looking on to the
0:03:00
the show um just before i proceed i'll
0:03:03
just play that
0:03:05
acknowledgement for the traditional
0:03:08
owners of the land so here goes
0:03:13
i begin today by acknowledging the
0:03:15
traditional custodians of the land on
0:03:17
which we gathered today and pay my
0:03:19
respects to the elders past present and
0:03:22
future i extend their respect to
0:03:24
aboriginal and torres strait islander
0:03:26
people here today
0:03:31
fantastic
0:03:33
so
0:03:34
now that's done so um um i don't know if
0:03:38
you
0:03:39
um
0:03:40
if you all guys um
0:03:43
um
0:03:44
remember where we were but just to give
0:03:48
a bit brief recap
0:03:50
was that uh on
0:03:53
the day before christmas eve we
0:03:56
did actually play around as in
0:03:59
um try to do the functionality of
0:04:03
the
0:04:05
gap board by name and
0:04:08
we got to a point where we had to um
0:04:12
install an extension for
0:04:14
esl
0:04:16
links because
0:04:17
we were getting a syntax error
0:04:21
so
0:04:21
we did that we configured it and um
0:04:26
we go through that part but um
0:04:29
we need to focus on pog going forward
0:04:34
and
0:04:35
i will just share my screen and share
0:04:38
with you guys where we go up to until
0:04:41
now
0:04:42
so
0:04:44
just share my screen hey tory welcome
0:04:47
man good to have you
0:04:51
um
0:04:52
[Music]
0:04:54
finish were you naughty this year
0:04:59
hard question man um yeah
0:05:01
yeah
0:05:02
true
0:05:06
okay
0:05:08
um so i'll just open obvious code and
0:05:12
open up the
0:05:15
backhand
0:05:18
repo
0:05:19
and we can take it from there
0:05:21
right so
0:05:22
uh
0:05:25
um i don't know if you remember
0:05:28
finish but
0:05:29
you
0:05:30
coded up until
0:05:32
this part
0:05:34
yep yep so
0:05:36
as soon as i installed and configured
0:05:39
yes
0:05:41
lent
0:05:42
it was a it was a
0:05:45
huge red
0:05:47
colored page surprise for for me
0:05:50
i was like wow all right that is
0:05:54
embarrassing
0:05:56
but yeah go a lot
0:05:59
to learn um
0:06:01
you can still see now that there are
0:06:04
many red spots
0:06:07
we won't focus on them at this moment um
0:06:10
i will probably work on them um
0:06:13
on my free time
0:06:17
which would be next week um
0:06:20
yeah so i was i i kind of had a bit of
0:06:23
free time as well
0:06:26
so i just continued
0:06:28
this part
0:06:30
um to
0:06:31
as in
0:06:32
uh get the
0:06:36
that particular board from the dynamodb
0:06:39
table by using a
0:06:41
query
0:06:43
and what i found out that there is a bit
0:06:45
of a
0:06:46
problem here that
0:06:48
because at the moment that we're using
0:06:51
board id as a primary key
0:06:55
okay
0:06:57
overall as in board id is the primary
0:07:01
key and
0:07:03
to use
0:07:04
to bring the board
0:07:07
uh by
0:07:09
name
0:07:10
uh we probably have to create
0:07:14
what's called a gsi on global secondary
0:07:18
index
0:07:19
um and why
0:07:21
can't we do this uh with this one is
0:07:24
because
0:07:26
this
0:07:27
query accepts a key
0:07:30
which is our board id obviously but when
0:07:34
we are calling the board and name func
0:07:37
um this gabor by name function in the
0:07:40
back end
0:07:43
we are not gonna at this stage we don't
0:07:46
have the board id
0:07:48
um
0:07:48
[Music]
0:07:50
okay
0:07:54
so
0:07:55
um have you got any suggestions that we
0:07:59
should approach
0:08:01
the spy
0:08:05
the first thing i was wondering is uh
0:08:10
why in your key in 165
0:08:14
166 yeah
0:08:16
why have you done board id
0:08:19
board name
0:08:20
okay so you can
0:08:22
take this as that one because um when i
0:08:26
was coding it i did
0:08:29
this but then it gave me that the key is
0:08:33
invalid
0:08:34
which is obviously because
0:08:38
the primary key in dyno db table is
0:08:41
board id not board name
0:08:44
so i
0:08:46
try so i assume them again let's say if
0:08:50
i've got board
0:08:51
ide and then i was about to change this
0:08:54
into board id as well but obviously
0:08:58
we don't have the board id here
0:09:02
yeah so that is why basically i was just
0:09:05
experimenting so essentially
0:09:09
it was
0:09:10
like this when i identified the problem
0:09:15
okay
0:09:16
yeah
0:09:20
so
0:09:21
so
0:09:22
um
0:09:23
do you have any suggestions or ideas how
0:09:27
we should approach
0:09:29
this as in if
0:09:31
if we have to use a query then we need
0:09:34
to have a board
0:09:35
id
0:09:36
as well from the front end
0:09:39
which we are not getting at the moment
0:09:44
hmm
0:09:48
we need a board id in the in the front
0:09:50
end
0:09:52
this would oh okay yeah that's tricky
0:09:55
yeah
0:09:57
so in order to get the board by name
0:10:00
with this
0:10:02
logic here
0:10:04
we need the board id because the the
0:10:06
board id is actually the key
0:10:09
of the table
0:10:10
yeah okay yeah that makes sense that
0:10:12
makes sense
0:10:15
so how would you
0:10:16
and do you have any ideas or suggestions
0:10:20
how should we get the board id or
0:10:24
a workaround
0:10:28
to this problem
0:10:32
trying to think
0:10:34
um
0:10:37
yeah that's a good one um
0:10:44
so i've got um i've got to say two
0:10:48
ways that we can approach this
0:10:51
um so
0:10:53
one
0:10:54
the first one
0:10:56
would be to create a gsi which is the
0:10:59
global secondary index
0:11:04
have you
0:11:05
[Music]
0:11:07
come across them before
0:11:09
no i have no idea okay
0:11:12
cool so basically according to my
0:11:15
research um what global secondary index
0:11:18
is there is just an alt alternative key
0:11:22
to our
0:11:23
primary key
0:11:26
okay so if a primary key is key
0:11:30
uh is board id but we wanna
0:11:33
you we wanna get the board by board name
0:11:37
then we can add the column board name as
0:11:41
a global secondary index interesting
0:11:45
okay
0:11:46
so this is a dynamodb thing
0:11:49
yeah
0:11:50
okay okay do you think yeah
0:11:53
okay
0:11:53
and the second way to approach this is
0:11:57
you know how we are getting all the
0:11:59
board and names
0:12:01
uh
0:12:02
on page load in the front end
0:12:06
as in the
0:12:08
s
0:12:09
the solution that tory also helped us
0:12:13
do and
0:12:14
we were using his code oh yeah okay so
0:12:19
in that one uh along with board names we
0:12:23
can also include the board ids
0:12:26
yeah yep okay
0:12:28
yeah i see what you're talking about i
0:12:30
think i think if a solution is better in
0:12:32
my opinion
0:12:35
the
0:12:36
global secondary index isn't it yeah
0:12:39
yeah
0:12:40
and why would you say that
0:12:43
that's a better approach than the second
0:12:46
one
0:12:48
um because in yeah from
0:12:50
my perspective i think it's um
0:12:53
it would be a lot cleaner like you know
0:12:56
you're not really adding
0:12:58
something you know extra to the front
0:13:00
end that we might only use once in a
0:13:03
while like this one
0:13:05
it seems a lot cleaner you are you you
0:13:07
know you are
0:13:08
essentially um still going to be
0:13:10
interacting with the with the back end
0:13:12
and it's not really adding anything
0:13:14
that's you know unnecessary in my
0:13:16
opinion
0:13:17
correct
0:13:18
correct and asia is
0:13:22
just that the ideal
0:13:24
solution should always be the
0:13:28
easiest and the
0:13:30
least amount of work
0:13:32
plus um it should
0:13:35
shouldn't really do any extra
0:13:38
work that um
0:13:41
it needs to and but it's not going to be
0:13:44
used afterwards for as in frequently
0:13:48
so
0:13:50
fantastic um so we can use the
0:13:54
gsi um if you can also keep an eye on
0:13:58
the comments um there'll be
0:14:03
great and really helpful as well
0:14:06
um what is the eslint actually
0:14:08
um
0:14:09
say i need to maybe i'll do some
0:14:11
research in my own time but just
0:14:12
wondering what's here
0:14:14
what is eslint yes lynn sorry oh so
0:14:18
yes
0:14:19
yes
0:14:21
i
0:14:22
didn't really know that uh it's as well
0:14:25
until i freezes so it's just a brand new
0:14:28
knowledge
0:14:29
um basically it's an
0:14:31
is a javascript syntax
0:14:35
extension
0:14:37
so for
0:14:38
vs
0:14:41
code
0:14:42
which actually
0:14:43
keeps you on them
0:14:44
on the good practices good practices of
0:14:49
coding standards
0:14:51
and
0:14:52
also highlight if you made any syntax
0:14:56
errors in bs code
0:14:58
okay let's see so
0:15:01
basically it's ecmas script
0:15:04
linking
0:15:05
so
0:15:06
oh okay yeah yes linked yeah yeah make
0:15:09
sense
0:15:11
fantastic all right cool so what we're
0:15:14
going to do is create a global secondary
0:15:17
index in our template
0:15:20
um i haven't done this and this would be
0:15:23
my first ever time so this will be an
0:15:26
interesting landing curve
0:15:29
for me as well
0:15:30
all right
0:15:32
so this is the global secondary index
0:15:35
here
0:15:36
okay let's google that
0:15:41
uh took the picture
0:15:43
how to create
0:15:48
design in
0:15:50
sound template
0:15:54
download db table yeah that's exactly
0:15:57
what we need
0:16:01
uh
0:16:02
we are using yemo
0:16:03
right contribution size specification
0:16:08
the settings used to enable the card was
0:16:11
a hindsight for specific
0:16:14
global secondary index
0:16:17
ah
0:16:21
right
0:16:22
so indexing name has to be a string q
0:16:25
schema projection
0:16:27
provision football
0:16:29
the example might help
0:16:32
isn't it
0:16:36
um
0:16:38
let me just check if i can find a good
0:16:40
example of it
0:16:44
okay global secondary index
0:16:47
is that one case camera
0:16:50
there has to be an example
0:16:53
okay here we go
0:16:55
so this is in jason this is in
0:16:59
okay
0:17:00
cool
0:17:02
so
0:17:03
if we have that redefinition key schema
0:17:06
yeah we've got a hash
0:17:08
which is this
0:17:10
probably uh my table name
0:17:14
which is
0:17:16
over here
0:17:18
where's my table name
0:17:22
that's interesting
0:17:26
okay we
0:17:28
probably don't need to give you a
0:17:30
table name then
0:17:32
is that
0:17:36
no
0:17:37
okay let's keep on continuing
0:17:42
[Music]
0:17:47
reach capacity
0:17:49
okay cool so ah here we go
0:17:52
here's the bad boy we need
0:17:55
global segment in texas
0:17:58
so just do this one
0:18:00
it's on the same
0:18:02
indentational
0:18:05
provision throughput so here global
0:18:08
fall
0:18:09
[Music]
0:18:10
global
0:18:13
secondary index
0:18:16
this is
0:18:20
okay
0:18:22
and then next
0:18:23
name
0:18:30
i don't even know
0:18:32
what this space is for
0:18:35
that's up here
0:18:38
let's see how i go
0:18:40
yeah
0:18:41
um i guess so bored
0:18:45
named
0:18:47
gsi
0:18:48
uh why'd you not turn into
0:18:51
ah
0:18:52
space
0:18:53
steve
0:18:55
this is why
0:18:56
gemma is really sensitive
0:19:00
yeah you can't
0:19:03
you you will pick out everything and
0:19:05
smash on your face you got this wrong ha
0:19:08
ha
0:19:10
all right cheerskeeper
0:19:20
okay
0:19:26
[Music]
0:19:37
so this would probably be the column
0:19:41
oh yeah
0:19:44
board name
0:19:45
and key type
0:19:50
so yes sales album okay cool hash
0:19:54
we need the hash
0:19:56
oh no no no no no no
0:20:02
key type that one
0:20:04
[Music]
0:20:10
we don't need the artist
0:20:13
which is fine now
0:20:15
and then projection
0:20:18
non-key attributes
0:20:20
all this thing
0:20:22
monkey attributes
0:20:27
there has to be explanation down
0:20:30
somewhere
0:20:36
now
0:20:38
and general attributes
0:20:41
if you include multiple dynamics
0:20:43
details with the index in a single
0:20:46
template aha okay multiple we're not
0:20:50
including multiple ones
0:20:52
so that's not really for us
0:20:55
just want to check
0:20:58
return values
0:21:01
it's in this one table name
0:21:06
is here again
0:21:09
non-key attributes
0:21:13
tori asks what's the difference between
0:21:16
hash and range for key time
0:21:18
good question
0:21:20
um
0:21:22
yeah that's a great question actually
0:21:24
but um
0:21:26
yeah according to my
0:21:28
knowledge and there's kind of a broken
0:21:31
one from solutions architect exam
0:21:35
um actually hash is called the primary
0:21:38
key of the dynamodb whereas range is
0:21:42
called the kind of the soul key
0:21:45
of dynamodb
0:21:49
okay
0:21:50
actually let's google that
0:21:56
and see if i'm even right
0:22:00
okay an interesting a hashtag
0:22:03
okay so a hash key consists of a single
0:22:06
entry yeah yeah so it's a primary key
0:22:10
single attribute that uniquely
0:22:12
identifies an item
0:22:15
and then the hash and the range key
0:22:18
consists of two attributes together that
0:22:21
uniquely identifies an item yeah
0:22:24
okay
0:22:27
so
0:22:28
the range is still assaulty is it
0:22:41
do you want to click on that stack
0:22:42
overflow hmm i was going to do that
0:22:49
so as good
0:22:51
hash and range
0:22:53
means that single rowing diamond db has
0:22:56
a unique primary key made up of both
0:22:59
[Music]
0:23:01
hash and range key
0:23:04
for example
0:23:07
with a hash key of x
0:23:09
and
0:23:10
range here y your primary key is
0:23:12
effectively h and y
0:23:15
um
0:23:22
[Music]
0:23:30
range
0:23:34
what was that one what was over there
0:23:43
okay yeah
0:23:45
no so i think we was trying to
0:23:47
say that our primary key would be with
0:23:51
these both sales and artists
0:23:55
um okay
0:24:00
for some reason i still don't understand
0:24:03
it how can the uh
0:24:05
yeah there can be two primary keys which
0:24:07
would be called the composite keys in um
0:24:10
relational
0:24:13
databases
0:24:17
so would that mean that
0:24:21
hash and range are kind of a composite
0:24:24
key for dynamodb
0:24:30
um
0:24:31
tori says yeah composite key
0:24:34
and he says that yeah i think in these
0:24:38
cloud formation templates you don't
0:24:40
write primary key and sort key you write
0:24:42
hash and range
0:24:44
yeah
0:24:45
yeah
0:24:46
yeah that part i
0:24:48
understood that these are the specific
0:24:51
terminology from danville db well i
0:24:54
didn't
0:24:55
all this time i was thinking that
0:24:57
hash is a primary cube which i was right
0:25:00
but i didn't know range
0:25:02
is kind for a second primary key which
0:25:05
would yeah
0:25:08
oh
0:25:09
okay yeah i think i get it now
0:25:12
okay
0:25:13
so both of these have to be specified
0:25:17
to bring up the record
0:25:22
whereas in our scenario we just
0:25:26
we don't need both of them we just need
0:25:29
one
0:25:31
as in
0:25:34
one for once scenario and the other one
0:25:37
for the other scenario
0:25:39
we don't need both um yeah
0:25:43
yeah make sense
0:25:45
but
0:25:46
yeah was
0:25:47
non-key attributes and do you really
0:25:49
need these
0:25:51
i don't think so
0:25:53
do you want to quickly google that as
0:25:55
well saying maybe it could help
0:25:58
true
0:25:59
[Music]
0:26:04
example class section
0:26:06
on non-key attributes
0:26:08
the same attributes can be more than one
0:26:11
all right okay
0:26:14
so base
0:26:18
so basically it's self-explanatory
0:26:23
as in key attributes
0:26:25
would be the primary key but non-key
0:26:28
attributes
0:26:29
would be the all the ones that come with
0:26:32
the primary key
0:26:38
do you know what i mean or not
0:26:40
no no okay
0:26:43
say
0:26:44
at the moment i will bought up in the
0:26:47
table board
0:26:48
maybe a free free columns board id board
0:26:51
nodes and board name
0:26:53
okay
0:26:54
um
0:26:55
so
0:26:56
at the moment um primary key is board id
0:27:00
isn't it
0:27:02
yes yeah so that
0:27:04
that would be the key attribute
0:27:07
okay
0:27:10
yep
0:27:11
and the non-key attribute would
0:27:14
obviously be the ones that they are
0:27:17
non-primary keys so board notes and
0:27:19
board names so keys
0:27:22
primary key hash key
0:27:24
in that one
0:27:26
okay
0:27:27
okay does that make sense now
0:27:29
yeah i think that makes more sense
0:27:31
yeah because it says that um
0:27:36
say for each example it had
0:27:39
say
0:27:40
this was
0:27:42
a student table
0:27:44
and it had the student
0:27:48
id
0:27:49
which
0:27:50
would have been the primary key
0:27:52
but in dynamodb's perspective it's a key
0:27:55
attribute
0:27:57
it's a hash
0:27:59
yeah
0:28:00
yeah makes sense yeah and then the
0:28:02
non-key attributes or the non-key
0:28:06
columns
0:28:08
would be the class section the age of
0:28:11
the student
0:28:12
the student
0:28:14
yeah yeah okay that makes sense yeah
0:28:16
yeah i go you mean yeah interesting okay
0:28:19
cool so
0:28:21
okay so we don't really need projection
0:28:24
then because
0:28:25
we're not dealing with the
0:28:27
um the non-key attributes here
0:28:30
tori says um
0:28:32
i think non-key
0:28:34
non-key are the attributes that you want
0:28:36
to include in your global secondary
0:28:38
index table
0:28:47
global secondary index table
0:28:50
right right right okay
0:28:55
so
0:28:57
that means that if we
0:28:59
just need the board name in our
0:29:04
new table as a global secondary index
0:29:07
table
0:29:09
do we still have to include that
0:29:12
in the non-key attributes even though we
0:29:16
are
0:29:17
specifying here in the
0:29:19
key schema
0:29:21
yes we do yes what stupid question
0:29:25
so tori says projection represents
0:29:27
attributes that are copied projected
0:29:30
from the table
0:29:31
into the global secondary index
0:29:33
these are in addition to the primary key
0:29:36
attributes and index key attributes
0:29:38
which are automatically projected
0:29:42
from the docs that he copied that from
0:29:43
the documents
0:29:48
um okay i'm gonna
0:29:50
um
0:29:51
read that uh that copied projected from
0:29:54
the table into the
0:29:56
they are in in
0:29:57
to the primary key and the next thing it
0:29:59
will be to automatically protect it
0:30:01
okay so
0:30:03
i think which means to say story and
0:30:07
if i'm wrong that if i've created a
0:30:11
global
0:30:12
secondary index with the primary key of
0:30:15
a board name and if i only want the
0:30:18
board name column to be included in the
0:30:21
global secondary index table
0:30:25
because it's already included in the
0:30:29
as a
0:30:32
key schema i don't have to include it
0:30:35
again in the non-key attributes
0:30:38
am i right
0:30:47
that's a close second with this table
0:30:49
[Music]
0:30:55
yeah uh i could understand you basically
0:31:00
that's just an
0:31:02
imaginary
0:31:04
table that makes us
0:31:07
understand much better
0:31:10
i don't remember okay uh any way we can
0:31:15
try it um and hopefully
0:31:19
sam will actually scream ass if you're
0:31:23
wrong
0:31:24
so we can try that
0:31:27
uh
0:31:28
okay
0:31:29
so projection i don't think we need this
0:31:33
one if we are already including it in
0:31:35
the schema
0:31:37
and
0:31:38
provision throughput and read capacity
0:31:42
so we need that one so
0:31:44
same as project
0:31:46
global secondary projection no
0:31:49
schema
0:31:51
yes
0:31:52
same on the schema level we need
0:31:56
provision throughput
0:31:58
so that's the schema level isn't it
0:32:02
is that the schema level
0:32:06
this must be the schema
0:32:15
uh here we go
0:32:16
oh that makes much more sense
0:32:19
so this is our schematic level and we do
0:32:22
provision
0:32:26
provision through
0:32:29
put
0:32:34
in through put read capacities units
0:32:39
[Music]
0:32:49
[Music]
0:33:06
okay
0:33:07
and that's another one we don't need
0:33:10
that one okay cool
0:33:12
right
0:33:14
shall we test if this works for us
0:33:16
yeah yeah
0:33:18
let's give it a go
0:33:20
this is gonna be really exciting
0:33:26
um board near key yeah
0:33:35
sam build
0:33:40
let's see if it screams ass
0:33:53
no okay
0:33:55
apparently i've done a pretty good job
0:33:57
until now
0:34:02
and
0:34:04
[Music]
0:34:13
[Music]
0:34:16
okay yeah that's fine
0:34:31
so tori
0:34:32
says i think of these local and
0:34:35
secondary indexes as extra term tables
0:34:38
you can have to do quick lookups on
0:34:40
non-primary keys and whatever non-key
0:34:43
attributes one
0:34:44
my understanding could be wrong but
0:34:46
that's what i remember from studying
0:34:48
which is getting foggy yeah i think that
0:34:51
really makes sense um you know to think
0:34:53
of them as tables it's like
0:34:55
it's easy to comprehend um
0:34:58
i kind of get what he's saying now i
0:34:59
think
0:35:00
yeah true true
0:35:04
okay apparently
0:35:06
i've messed up
0:35:08
it didn't create the
0:35:11
table
0:35:13
where did i go wrong
0:35:15
uh creating content terminal failure
0:35:18
for expressions taxpayers we match the
0:35:20
expected path
0:35:22
at least once
0:35:36
does that mean
0:35:37
that because they've actually
0:35:40
altered the stab we need to
0:35:42
create a new one
0:35:46
apis that the following
0:35:48
resources failed to update actually let
0:35:51
me go into the
0:35:58
um the account and see what's happening
0:36:01
over there
0:36:04
oh no not this one
0:36:07
um
0:36:15
yeah what tool is that saying by the way
0:36:17
i'm just curious
0:36:19
um it's called
0:36:20
the bit something
0:36:26
must be here
0:36:30
oh browser
0:36:32
uh it's called a bit warden
0:36:37
it's
0:36:38
free by the way
0:36:47
taurus says you can run sam validate my
0:36:50
ammo
0:36:51
first before you deploy try validation
0:36:53
first
0:36:55
time
0:36:57
validate
0:36:59
okay
0:37:06
for unexpected extra ah
0:37:08
that is a really help
0:37:10
thank you tori
0:37:13
go unexpected extra argument
0:37:16
but where's the extra argument
0:37:22
extra
0:37:23
unexpected
0:37:26
i should tell you the line um
0:37:30
i mean yeah i don't know if it does but
0:37:32
yeah it's not really telling at least
0:37:35
[Music]
0:37:45
extra argument
0:37:51
look at this one instead of calling you
0:37:53
know my spicy point
0:37:55
no that's not that one's
0:37:59
um
0:38:00
i'm trying to call
0:38:04
no this is something else
0:38:08
thanks to us go
0:38:10
unexpected extra argument it must have
0:38:13
been done over here i'm pretty sure oh
0:38:16
hang on a minute
0:38:19
maybe it's in this way
0:38:21
because on the top one's about in that
0:38:24
way so
0:38:25
i'm thinking
0:38:28
yeah
0:38:29
let's give that a try
0:38:38
me
0:38:46
okay provision
0:39:02
um
0:39:09
[Music]
0:39:14
yeah that's looking promising
0:39:16
filter pause
0:39:18
template mapping values are not allowed
0:39:22
where did i map
0:39:24
in 153
0:39:35
yes
0:39:43
apparently there's a vs code extension
0:39:45
to link your ammo files
0:39:48
yeah try to mention that
0:39:53
uh what's it called
0:39:56
[Music]
0:40:03
syntax support is this the one
0:40:06
it he said he can't remember what's it
0:40:09
called
0:40:11
apparently it is this one
0:40:21
let's pull by red hat
0:40:28
okay let's try this one
0:40:30
[Music]
0:40:32
except
0:40:38
line 53 on
0:40:40
unicorn strings
0:40:43
and you code string
0:40:46
line 53 so this is the problem here
0:40:50
[Music]
0:40:53
index name
0:40:55
key schema
0:41:05
um
0:41:06
okay see now
0:41:10
um
0:41:13
[Music]
0:41:20
oh an unexpected extra argument
0:41:24
again
0:41:33
where's the extra argument
0:41:40
actually i'm gonna get rid of this
0:41:43
this one and see what happens
0:41:59
still unexpected
0:42:01
argument
0:42:03
in yemen file
0:42:08
same
0:42:16
samurai queen vault
0:42:22
come on come on where are you where are
0:42:25
you i've got unexpected extra argument
0:42:31
okay i'm gonna a minute uh what i'm
0:42:34
gonna do
0:42:36
okay
0:42:38
is get rid of
0:42:40
the whole part and see
0:42:43
it if
0:42:44
ah interesting
0:42:47
gives that error
0:42:50
and
0:42:51
i haven't even included that poem yet
0:42:55
unresolved tag
0:43:02
hang on if i deploy
0:43:04
now
0:43:06
will it work
0:43:12
is that is the formatter done the
0:43:16
uh i haven't checked that one
0:43:21
i'll call my broke over here let's go
0:43:23
for this
0:43:24
built-in
0:43:29
[Music]
0:43:34
okay how do we do this
0:43:44
how do we
0:43:46
actually i'm gonna
0:43:48
close this and reopen it
0:43:51
maybe that might make it work
0:43:55
same api
0:43:59
[Music]
0:44:06
no okay yeah that's working now
0:44:11
apparently
0:44:28
[Music]
0:44:31
um
0:44:34
i'll just do a guarded deployment again
0:44:37
and see if the stack
0:44:40
uploads successfully
0:44:44
oh um
0:44:46
sorry i missed a lot of comments let's
0:44:47
see what he said um
0:45:03
here it's called serbler's ide in bs
0:45:05
code so
0:45:07
okay um he posted one in the
0:45:11
um in the comments
0:45:14
okay
0:45:15
i'll just have a quick look
0:45:19
serverless oh right
0:45:22
i'll put it in the private section
0:45:25
so you can click on it
0:45:30
first so let's ideas code okay so what
0:45:33
we're gonna do is delete the ones that
0:45:37
we installed uninstall it
0:45:40
reload required yes
0:45:44
okay cool so that code was causing the
0:45:46
problem because this stack is built
0:45:49
anyway now
0:45:57
all right so let's ide
0:46:00
service id
0:46:05
here we go
0:46:07
confirmation that enhanced support for
0:46:10
sam clark i love this one
0:46:13
even though i haven't even used it
0:46:15
it
0:46:16
makes me excited
0:46:20
uh cfn lens is not installed or could
0:46:23
not be found installed now
0:46:35
i'll update my homebrew and all that
0:46:37
okay cool that's fine that
0:46:40
can take his time it's not going to stop
0:46:43
us from actually maybe it will stop us
0:46:48
no he won't it can take his time
0:46:52
um
0:46:53
so
0:46:54
we need to find
0:46:56
uh
0:46:59
global secondary
0:47:03
create
0:47:05
gsi
0:47:07
and
0:47:18
this is exactly the one we need
0:47:21
i need the
0:47:22
answer i was just looking at this um the
0:47:25
same one
0:47:29
right
0:47:30
okay yeah here we go so apparently we
0:47:33
did it right
0:47:36
you see they've added projection and
0:47:41
non-key attributes projection type
0:47:47
count should not be on attribute
0:47:50
definition because you're not using it
0:47:52
as a key
0:47:54
you don't need to use
0:47:57
you don't need to add you use idea
0:47:59
projection because it will it will be
0:48:02
projected automatically since it's
0:48:04
defined
0:48:08
oh
0:48:09
right
0:48:13
maybe that's where i went wrong
0:48:18
so basically where will we add
0:48:22
over here
0:48:24
attribute name oh that's a table name
0:48:29
what
0:48:30
attribute
0:48:38
the column name itself
0:48:43
oh is the
0:48:45
column
0:48:46
name that's fine
0:48:48
secure schema global secondary index
0:48:53
i need to front see this which
0:48:57
you need to add a table name at
0:49:00
attribute definition property from dog
0:49:03
okay
0:49:05
so even if you don't use some attributes
0:49:07
in the original table you must declare
0:49:10
to be able to use all right
0:49:16
right right right so
0:49:19
basically
0:49:20
uh from what i'm understanding that we
0:49:23
need to declare the column names in the
0:49:26
attribute definitions
0:49:29
the actual table properties
0:49:33
if we want to use them as the global
0:49:36
secondary index
0:49:37
so see how he's using the table name
0:49:40
here
0:49:41
and in the attribute and this would be
0:49:44
the
0:49:45
column
0:49:46
name
0:49:48
this is in fact present in his attribute
0:49:51
definition
0:49:54
which we don't have
0:50:04
case records
0:50:07
yeah should we try this
0:50:11
yep yep a good idea
0:50:16
okay so attribute definition we would
0:50:20
insert one more over here
0:50:23
which would be
0:50:26
attribute
0:50:28
name
0:50:28
[Music]
0:50:30
would name
0:50:32
and
0:50:33
attribute
0:50:34
type
0:50:36
be a string yeah
0:50:38
string and then coming back to
0:50:42
[Music]
0:50:43
this one
0:50:45
double second whoa
0:50:47
i like the extension
0:50:49
lovely thank you very much tori
0:50:53
you made our day
0:50:56
that's awesome actually yeah
0:50:58
okay so board
0:51:00
name
0:51:04
gsi
0:51:07
[Music]
0:51:13
g type is that one
0:51:15
ah so we had to include rejection as
0:51:18
well
0:51:19
interesting
0:51:21
projection would be
0:51:23
non-key attributes
0:51:25
so if you use
0:51:27
count
0:51:30
so basically by saying just count them
0:51:35
maybe that's the kind of like um
0:51:37
function he wants to run right
0:51:41
like for the
0:51:42
for the secondary
0:51:44
index
0:51:46
interesting
0:51:48
should not be on attribute definitions
0:51:53
because generally using as a key you
0:51:55
don't need okay
0:51:57
i need to
0:51:59
see what count is
0:52:02
okay
0:52:03
we can see probably from here
0:52:08
uh traces
0:52:10
in your if you read the docs it tells
0:52:12
you what your what is required okay
0:52:16
let's just go there
0:52:20
oh my goodness if this is the first time
0:52:23
i'm working with
0:52:25
tsl's it's really as in
0:52:27
kind of a roller coaster ride isn't it
0:52:30
but on one yeah
0:52:32
for sure
0:52:34
uh yeah
0:52:35
haven't even heard of it till today so
0:52:39
yeah
0:52:41
right attribute definitions i need
0:52:44
project
0:52:45
i needed projection isn't it
0:52:52
a projection
0:52:54
tourism to link in the chat i think
0:52:55
that's pretty helpful
0:52:58
um they're not saying anything about
0:53:01
that let's go to tory's
0:53:05
chat
0:53:06
um
0:53:08
oh yeah that's the one
0:53:10
thank you finesse that's really helpful
0:53:16
actually i might need this
0:53:18
url okay
0:53:20
okay
0:53:22
google secondary index okay projection
0:53:26
scroll down
0:53:33
i was right about the
0:53:36
range key is so key
0:53:39
nice
0:53:41
uh projection okay cool so represents
0:53:44
attributes that copied
0:53:46
project uh copied from the table into
0:53:49
the global secondary index
0:53:52
these are in addition to the primary key
0:53:55
attributes and index key attributes
0:53:58
which automatically projected
0:54:01
updates are no projection
0:54:03
yeah okay yeah so
0:54:08
i'm just trying to
0:54:10
understand they if it says that
0:54:15
they're copied from that table into the
0:54:18
secondary index jab which is
0:54:21
fine that makes sense design
0:54:24
these are in addition
0:54:26
to the primary key attributes and index
0:54:30
attributes
0:54:32
so if these are in addition
0:54:34
and we don't want the in addition
0:54:37
attributes
0:54:38
why does you have to be required then
0:54:43
yeah
0:54:43
um
0:54:52
these are in addition to the primary key
0:54:55
attributes
0:54:56
and index
0:54:59
which are automatically projected so
0:55:01
basically what's
0:55:03
saying is
0:55:04
that if we have
0:55:07
a primary key attribute of
0:55:11
column a
0:55:12
and the index key attribute of
0:55:15
column b
0:55:16
by their c d and f
0:55:19
but we only want a and b
0:55:23
they would only be pre
0:55:25
they would already be projected as
0:55:28
included
0:55:29
because their primary key and index
0:55:32
key but the projection
0:55:36
would only would include the rest of the
0:55:40
columns which is b c and d
0:55:43
which is
0:55:44
c d and e which are not
0:55:47
in the primary key and index key
0:55:51
am i making a little bit of sense
0:55:55
because to me that makes sense
0:55:57
no that actually makes sense to me
0:56:00
um
0:56:01
so i kind of get your perspective it's
0:56:03
like it feels like it should like you
0:56:05
don't really need to include it right
0:56:07
yeah
0:56:08
yeah because we are already
0:56:10
including your hair
0:56:12
yeah
0:56:13
which are automatically projected
0:56:18
all right i'm gonna
0:56:21
remove
0:56:22
this and see what it does because
0:56:24
honestly from my understanding
0:56:26
we don't need it um i i could be wrong
0:56:30
and
0:56:32
tori will get deaf if he was hey he
0:56:35
would be able to correct me on this if
0:56:38
i'm wrong
0:56:42
tori says click on projection
0:56:45
you have to have it
0:56:47
i have
0:56:49
okay fine
0:56:51
[Music]
0:56:53
okay i have the projection but i won't
0:56:55
give anything into it
0:57:04
yeah it does sound wrong but
0:57:06
based on what how i'm understanding
0:57:10
even though my perspective might not be
0:57:13
correct
0:57:14
but i want someone to actually correct
0:57:17
me that okay
0:57:19
you're not looking at it from the right
0:57:22
angle
0:57:23
yeah yep true true
0:57:27
uh
0:57:28
that's confusing
0:57:29
i'll just
0:57:32
it'll dance you my sis me now
0:57:36
oh um
0:57:38
maybe
0:57:39
oh is it torx says
0:57:42
oh yeah you can see that um
0:57:44
maybe if you go on the dock uh on the
0:57:47
dark side
0:57:48
and then click on that projection
0:57:51
link that one yeah
0:57:56
non-key projection position type string
0:57:59
so no
0:58:00
non-key attributes
0:58:02
represents the non-characters which will
0:58:05
be projected into the index
0:58:08
okay
0:58:11
full local
0:58:13
secondary total counter
0:58:16
i want to get it with some runs close
0:58:17
hold it
0:58:18
must not exceed
0:58:21
20
0:58:22
if you put the same attributes into two
0:58:24
different
0:58:26
industries this column has two distinct
0:58:29
when determining
0:58:30
ah
0:58:32
[Music]
0:58:35
represents the non-key attributes
0:58:41
which will be projected into the
0:58:47
hang on i will go
0:58:51
so if this
0:58:53
deploys i'll be really surprised
0:59:00
because
0:59:01
to be honest i'm trying to take a
0:59:03
shortcut here
0:59:05
and
0:59:06
because i just wanted to check if it
0:59:09
works with non-giving projection
0:59:14
or it doesn't
0:59:20
did you try valedict i'm just curious
0:59:24
um so validate wouldn't help because it
0:59:27
was
0:59:28
giving the same error even if the stack
0:59:32
was deploying perfectly fine
0:59:35
okay
0:59:40
okay
0:59:45
okay yeah true okay i need to
0:59:48
all right
0:59:51
cool so what we can basic
0:59:54
to do
0:59:55
is give it say a board name
1:00:00
that's the only thing we've won isn't it
1:00:04
you might really have to put non-key
1:00:06
attributes and then
1:00:08
you know oh yeah yeah yeah i'll forgo
1:00:10
about that one
1:00:12
thanks
1:00:13
for reminding me man
1:00:15
really helps
1:00:17
so
1:00:18
how does the syntax go
1:00:21
provision projection
1:00:23
um
1:00:29
so
1:00:29
that one
1:00:31
[Music]
1:00:35
index
1:00:36
projection projection
1:00:40
type oh
1:00:42
can you do something like that
1:00:44
projection
1:00:45
projection
1:00:47
keys only
1:00:49
oh
1:00:50
right
1:00:51
i see
1:00:52
so we're just including the keys itself
1:00:55
yeah
1:00:57
uh oh yeah basically if that would be it
1:01:01
then
1:01:03
would be great
1:01:05
projection
1:01:06
type
1:01:09
keys
1:01:13
let's try that
1:01:24
the scale of one to ten how much are you
1:01:28
learning
1:01:29
today
1:01:31
um
1:01:34
i would say like yeah i would say like
1:01:36
10 probably that's all very new to me so
1:01:39
yeah
1:01:40
this is uh yeah that's something i'm
1:01:42
familiar with
1:01:44
and talk about yourself so
1:01:49
i would say i was at 12.
1:01:52
[Laughter]
1:01:56
yeah and
1:01:58
the reason why i said 12 is because
1:02:01
i'm
1:02:02
i'm screwing up and then
1:02:04
and then
1:02:08
learning it
1:02:09
yeah yeah
1:02:10
not just as in
1:02:12
theory i'm actually
1:02:14
as in we are hands on
1:02:16
we are failing and then
1:02:18
fixing failing and then fixing it
1:02:21
yeah
1:02:22
that's the the name of the show right
1:02:25
exactly
1:02:27
build break and fix
1:02:30
come on come on my baby you can do this
1:02:32
i believe in you
1:02:34
kim ah
1:02:45
keys only projection tab okay so i'm
1:02:49
gonna forget this projection type and
1:02:52
given non-key attributes
1:02:55
oh my mind this is helping me
1:03:07
no not the projection type i want to
1:03:10
give it the actual
1:03:12
as in board net um the
1:03:16
type of the projection
1:03:18
basically
1:03:20
print no
1:03:21
so if you click on that
1:03:24
oh because yeah
1:03:27
oh there you go
1:03:28
you have no
1:03:33
[Music]
1:03:38
projection project type no projection
1:03:41
type um it would be string isn't it
1:03:47
no
1:03:49
projection type keys are include include
1:03:53
what would be only the index and primary
1:03:55
keys are projected into this index
1:03:58
yeah that's basically what we that's
1:04:00
what you need yeah
1:04:05
include in addition to that
1:04:07
describing his own lead no we don't need
1:04:10
this yeah and this will include other no
1:04:14
i'm not gonna go with that one
1:04:17
it just it makes sense right just a
1:04:18
projection type keys only
1:04:23
no i don't need
1:04:27
attributes
1:04:30
so
1:04:30
[Music]
1:04:31
non-key protection time
1:04:35
not yet
1:04:38
required i see this is
1:04:41
not required
1:04:43
and this is
1:04:44
not required either but
1:04:46
the projection has to be required
1:04:48
objection is required
1:04:51
either messing up somewhere
1:04:58
keys only
1:05:00
he's projection type keys only
1:05:04
does the error say anything that we can
1:05:06
use
1:05:09
um is just
1:05:10
saying that matt um
1:05:13
status we matched expected path
1:05:19
yeah it's not really being helpful
1:05:26
the following film
1:05:28
stories like 10 hours of debugging saves
1:05:30
me 5 minutes of reading the talks
1:05:48
keys only yes
1:05:53
so
1:05:55
we have given in the index name
1:05:58
oh hang on a minute
1:06:02
index name is there
1:06:07
why have you been using this part here
1:06:19
see
1:06:20
this is what i don't
1:06:21
like about camo
1:06:23
it's really fussy
1:06:29
projection
1:06:39
okay
1:06:40
they use that they use the dash in the
1:06:42
in the stack overflow
1:06:47
in there okay
1:06:48
yeah
1:06:51
oh you can use that as well and see if
1:06:53
it gets happy
1:06:57
oh
1:07:03
maybe if
1:07:07
the keys already created i mean
1:07:11
if the keys already
1:07:13
created but we want to add an another
1:07:16
key it won't just update the stack
1:07:20
we would have to recreate it
1:07:28
why am i not
1:07:30
going into this and checking what your
1:07:33
problem is
1:07:35
stop being lazy zane
1:07:47
oh there's some water as well
1:08:05
ah
1:08:06
right
1:08:08
i must have messed up the
1:08:13
no basically i copy and pasted it
1:08:20
cool
1:08:23
um so we're going to cloud formation
1:08:31
and see
1:08:33
what
1:08:35
is
1:08:39
of the rollback so it rolled back
1:08:42
we can't see the
1:08:46
uh
1:08:47
property provisioning throughput cannot
1:08:49
be empty
1:08:50
what okay so that was right
1:08:54
we forgot to give it the
1:08:57
provision for
1:09:01
provision
1:09:08
provision oh yeah
1:09:24
you only need to recreate a dynamo
1:09:26
db table if you need to add a local
1:09:29
secondary index global you can add
1:09:31
anytime
1:09:33
all right okay i see
1:09:37
that really helps
1:09:40
five
1:09:43
[Music]
1:09:49
capacity units
1:09:52
oh my my
1:09:54
it's 40 past already
1:10:01
yeah yeah that's right it's pasta and
1:10:03
then oh
1:10:05
yeah
1:10:06
let's just
1:10:07
try
1:10:08
this if it works fine if it doesn't
1:10:11
always come back to tomorrow
1:10:44
how did we
1:10:46
create that
1:10:48
um that's on the level of projection and
1:10:52
key schema
1:10:54
yeah cool
1:10:56
so
1:11:00
oh my god
1:11:02
[Laughter]
1:11:10
okay baby go work for us now please you
1:11:12
need to
1:11:14
you've
1:11:14
given everything you wanted
1:11:18
if you know i'll probably have to
1:11:22
check vacancies for uber
1:11:28
um
1:11:30
uh
1:11:31
that's pretty cool terry sent a link
1:11:33
to github working example
1:11:39
okay that
1:11:41
is very helpful i'll go
1:11:44
straight after this doesn't work
1:11:48
hopefully it works
1:11:54
come on come on you got this we believe
1:11:57
in you
1:12:03
okay
1:12:05
sorry okay it's gonna be power now
1:12:08
moment of truth
1:12:11
okay fine there's a live class
1:12:15
validation error detected value s and
1:12:18
logo
1:12:19
secondary in this room uh fail to
1:12:22
satisfy the constraint
1:12:32
[Music]
1:12:34
oh so it's
1:12:37
saying value s it failed to satisfy the
1:12:39
constraints
1:12:42
and written name
1:12:48
attributes
1:12:51
type
1:12:53
it should be tight
1:12:58
let's see
1:13:01
what he says sorry
1:13:03
oh troy said if you read the docs
1:13:05
provision throughput is not required
1:13:14
interesting because on the sams sam
1:13:17
stack actually
1:13:18
said that this is
1:13:20
why
1:13:21
it was
1:13:24
cannot be empty
1:13:26
that's interesting
1:13:36
maybe
1:13:37
someone forgot to update the
1:13:39
documentation
1:13:43
maybe
1:13:53
come on now come on you have to do this
1:13:56
now
1:14:00
this is our
1:14:02
last try for today
1:14:05
come on come on
1:14:10
yeah
1:14:11
okay
1:14:13
okay that's fine i'll probably continue
1:14:16
this in my own
1:14:18
time we are that close
1:14:25
and i will
1:14:27
take this link as well and print it
1:14:32
on my
1:14:33
word so it's easier
1:14:37
wow face seven comments
1:14:42
perfect and i
1:14:45
that was a great learning curve
1:14:48
right steep
1:14:53
fantastic um
1:14:54
do you want to do the closing
1:14:57
uh yeah sure thing
1:14:59
um so today we're trying to set up
1:15:02
gsi on dynamodb basically so that
1:15:08
so that we can
1:15:10
uh finish our get bought names function
1:15:14
um
1:15:15
by using the board id to
1:15:18
uh to retrieve the board name from the
1:15:21
database
1:15:22
um sorry i'll just correct you on that
1:15:26
by retrieving the board and board names
1:15:30
but retrieving the board names from the
1:15:34
from uh the database so
1:15:37
[Music]
1:15:42
um
1:15:43
by using the board name to retrieve the
1:15:45
borders object uh from the database
1:15:49
um so basically we're amending the the
1:15:53
template.yaml file to do this and um
1:15:57
we got very very close i think um but
1:16:00
yeah just
1:16:01
just a little bit more and uh yeah we'll
1:16:04
get there and you know we can we can
1:16:06
proceed with uh
1:16:08
with um
1:16:09
with finishing up that function so yeah
1:16:12
uh that will will continue that in the
1:16:14
upcoming streams
1:16:16
um yeah so
1:16:18
should we the post-mortem recap yeah
1:16:21
exactly
1:16:25
um
1:16:26
yeah so
1:16:28
um yeah so we'll see you tomorrow same
1:16:31
time same place and
1:16:34
same task
1:16:37
can't wait to see you guys and in the
1:16:39
meanwhile wherever you are in
1:16:42
in the world
1:16:43
good morning
1:16:44
good afternoon and for if you're from
1:16:47
melbourne australia it would be a great
1:16:50
night and
1:16:51
we'll see you tomorrow
1:16:52
have a good night cheers bye see you
1:16:55
guys