Slide 1

Slide 1 text

First Impression of

Slide 2

Slide 2 text

aws-lambda-go • Seiji Takahashi • Github: timakin / Twitter: @__timakin__ • גࣜձࣾGunosy ৽نࣄۀ։ൃࣨ • Go / Swift ࣗݾ঺հ

Slide 3

Slide 3 text

ੵ ۃ ࠾ ༻ தʂ

Slide 4

Slide 4 text

ࠓ೔࿩͢͜ͱ

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

ࠓ·ͰͲ͏͔ͯͨ͠ • apex • ਖ਼ࣜαϙʔτ͞Εͯͳ͍ݴޠͰ΋lambdaͷ ؔ਺Λॻ͚Δ • awscliΑΓ؆୯ʹσϓϩΠ

Slide 9

Slide 9 text

ࠓ·ͰͲ͏͔ͯͨ͠ • Node (index.js) -> GoͷόΠφϦ • apex.HandlerFuncͱ͍͏ϋϯυϥͷ
 ίʔϧόοΫ಺෦ͰΠϕϯτड͚औΓ

Slide 10

Slide 10 text

ࠓ͸Ͳ͏͢Δ͔ • aws-lambda-go • awsਖ਼ࣜαϙʔτͷlambda package • apexΛ࢖ͬͯͨਓͳΒҠߦ͸༰қ

Slide 11

Slide 11 text

࣮ࡍʹҠߦͯ͠ΈΔ

Slide 12

Slide 12 text

before

Slide 13

Slide 13 text

after

Slide 14

Slide 14 text

ҧ͍͸ʁ • ຊ࣭తʹ͸ͳ͍ • ݟͨ໨্ίʔϧόοΫͰड͚औΔ͔ɺ
 ී௨ʹϋϯυϥʔͷҾ਺Ͱड͚औΔ͔ͷ
 ҧ͍͸͋Δɻ • deploy͕awscliܦ༝ɻ • AWSެࣜDocͰinitͰͷάϩʔόϧม਺ͷ
 ॳظԽ͕ਪ঑͞Ε͍ͯΔɻ

Slide 15

Slide 15 text

packageͷίʔυ • AWS͸೜ज़Έ͍ͨͳίʔυॻ͖͕ͪ • aws-sdk-goͱ͔͍͢͝ɻ
 ίʔϧόοΫͷຐज़ࢣͰ΋͍ΔͷͰ͸ɻ • aws-lambda-go΋ޚଟ෼ʹ࿙Εͳ͍

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

͜Ε͸Կ 
 RPC༻ͷΧελϜϦεφʔͷ࡞੒ ͔Βͷݺͼग़͠Λͯ͘͠ΕΔ܅

Slide 18

Slide 18 text

<- package͕࣮૷͍ͯ͠ΔInvoke
 funcΛݺͼग़ͤΔΑ͏ʹwrap

Slide 19

Slide 19 text

<- ͍͕ͭ͜Ғ͍΍ͭ

Slide 20

Slide 20 text

ɾϦΫΤετͷτϨʔγϯά ɾλΠϜΞ΢τ؅ཧ ɾRequestIDͷอ࣋ ͳͲͷͨΊʹಠࣗcontextΛ࡞੒্ͨ͠ͰɺhandlerΛݺͼग़͠

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

৻·͍͠ context in context (request-scopedͳͷͰਖ਼͍͠)

Slide 25

Slide 25 text

<- RPCͷݺͼग़͠ީิʹొ࿥

Slide 26

Slide 26 text

<- RPC Accept

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

ҰఆͷϧʔϧΛ९क͢Ε͹ϋϯυϥͱΈͳ͞ΕΔ

Slide 30

Slide 30 text

৘೤తͳreflection

Slide 31

Slide 31 text

ษڧʹͳΔ

Slide 32

Slide 32 text

·ͱΊ • aws-lambda-go͸Ҡߦɺ৽ن࡞੒ָ͕ʂ • த਎ͷίʔυ͕໘ന͍ʂ • RPC callͷ࣮ྫ • contextͷ࢖͍ํʹ͍ͭͯߟ͑ͤ͞ΒΕΔ • reflectionͷԠ༻ྫ

Slide 33

Slide 33 text

Thank you! ✨