Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rust で AWS で活用しよう!
Search
Tabito Hara
December 12, 2023
Technology
1
340
Rust で AWS で活用しよう!
estie さん主催「Rust、何もわからない... #11」で講演した資料です。
AWS Lambda 関数を Rust で書くことについて、紹介しました。
Tabito Hara
December 12, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
あなたの知らない OneDrive
murachiakira
0
230
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.5k
AIと描く、未来のBacklog 〜プロジェクト管理の次の10年を想像し、創造するセッション〜
hrm_o25
0
120
新卒(ほぼ)専業Kagglerという選択肢
nocchi1
1
1.8k
datadog-distribution-of-opentelemetry-collector-intro
tetsuya28
0
230
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
18
52k
20250818_KGX・One Hokkaidoコラボイベント
tohgeyukihiro
0
130
AIエージェントの開発に必須な「コンテキスト・エンジニアリング」とは何か──プロンプト・エンジニアリングとの違いを手がかりに考える
masayamoriofficial
0
260
ウォンテッドリーのアラート設計と Datadog 移行での知見
donkomura
0
280
2025新卒研修・Webアプリケーションセキュリティ #弁護士ドットコム
bengo4com
3
10k
人を動かすことについて考える
ichimichi
2
300
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
0
170
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
770
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Designing for humans not robots
tammielis
253
25k
Code Reviewing Like a Champion
maltzj
525
40k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
For a Future-Friendly Web
brad_frost
179
9.9k
Transcript
1 ©2023 Loglass Inc. 3VTUΛ "84Ͱ׆༻͠Α͏ʂ 3VTUɺԿΘ͔Βͳ͍ גࣜձࣾϩάϥε ݪ
ཱྀਓ
2 ©2023 Loglass Inc. ࣗݾհ גࣜձࣾϩάϥε ։ൃ෦ ΫϥυΤϯδχΞ ݪ ཱྀਓ
εύίϯͰఱؾ༧ใΛߦ͏ιϑτΣΞ։ൃ ɺݕࡧΤϯδ ϯγεςϜͷ։ൃձࣾͰͷϓϩμΫτ։ൃ͓Αͼݚڀ։ൃɺ"84 ʢαϙʔτΤϯδχΞʣΛܦͯɺ݄ʹϩάϥεʹೖࣾɻ ݱࡏΫϥυΤϯδχΞϦϯάΛϕʔεͱͨ͠։ൃࢧԉΛ௨͡ ͯϓϩμΫτͷՁͱ৴པੑ্Λࢦ͢ɻ • ΫϥυΠϯϑϥ • ηΩϡϦςΟ • ։ൃɾϏδωεࢧԉ • σʔλج൫ "84ೝఆࢿ֨શףɺ,VCFSOFUFTೝఆࢿ֨શףʢ߹֨ྺʣɻ ʮίϯηϓτ͔Βཧղ͢Δ3VTUʯʢٕज़ධ͔ࣾΒൃചʣΛࣥචɻ ݱࡏɺ"84*B$ʹؔ͢Δॻ੶Λࣥචதɻ
3 3 ©2023 Loglass Inc. 次世代型 経営管理クラウド
4 ©2023 Loglass Inc. ϩάϥεͷओͳٕज़ελοΫ όοΫΤϯυ • ,PUMJO 4QSJOH#PPU ϑϩϯτΤϯυ
• 5ZQF4DSJQU 3FBDU ΫϥυΠϯϑϥ • "84 ◦ &$4'BSHBUF ◦ "VSPSB ◦ -BNCEB ◦ 4UFQ'VODUJPO ◦ FUDʜ
5 ©2023 Loglass Inc. 3VTUͰ "84-BNCEBؔΛॻ͜͏
6 ©2023 Loglass Inc. "84-BNCEBؔͱʁ • "84ͷαʔϏεͷҰͭ • αʔόʔϨεͰϓϩάϥϜΛ࣮ߦͰ͖Δ ◦
ࣗͰ &$ΠϯελϯεͳͲͷαʔόʔΛ༻ҙ͢Δඞཁ͕ͳ͍ ˠίετʂ ◦ ࣮ߦ࣌ؒͷ্ݶɺϝϞϦͷ্ݶ (#ɺ࣮ߦճͱϝϞϦཁٻྔ º NT୯Ґͷ࣌ؒͰ՝ۚ • "84ͷϚωʔδυαʔϏεͱࣗͷڥʹΧελϚΠζͨ͠ػೳΛΈ߹ΘͤΔ͜ͱ͕Ͱ͖Δ • ฐࣾͰͷ༻్ͷ΄ΜͷҰྫ ◦ ӡ༻ܥ ▪ TUHڥͷ࣌ࠁʹΑΔࣗಈىಈɾఀࢭ ◦ ࢹܥ ▪ ֎ܗࢹʢ"1* &&ʣ ▪ $MPVE8BUDI-PHTͷαϒεΫϦϓγϣϯϑΟϧλʔʹΑΔϩάͷࢹ ◦ σϓϩΠܥ ▪ $PEF1JQFMJOFͷதͰΞΫγϣϯʢσϓϩΠͷ੍ޚͳͲʣ ◦ σʔλج൫ ▪ ϚελʔσʔλͷσʔλΣΞϋε 3FETIJGU ͷϩʔυ ◦ ϓϩμΫτͷػೳ ▪ ը໘Ͱͳ͘ 4'51Λ௨ͨ͡ϑΝΠϧΞοϓϩʔυ ϩάϥεͰ΄΅ͯ͢ͷ -BNCEBؔΛ 3VTUͰॻ͍͍ͯ·͢
7 ©2023 Loglass Inc. 3VTUͰͷ -BNCEBͷ࢝Ίํ • BXT@MBNCEB@SVTU@SVOUJNFΛΠϯετʔϧ ◦ IUUQTHJUIVCDPNBXTMBCTBXTMBNCEBSVTUSVOUJNF
◦ ͜ΕʹΑͬͯɺ-BNCEBΛ 3VTUͰ࣮ߦ͢ΔͨΊͷΧελϜϥϯλΠϜͷ ϥΠϒϥϦ DBSHPMBNCEBίϚϯυ͕Πϯετʔϧ͞ΕΔɻ ◦ .BD04Ͱ͋ΕɺCSFXJOTUBMMͰ؆୯ʹΠϯετʔϧͰ͖Δ • DBSHPOFXͷΘΓʹ DBSHPMBNCEBOFXͰϓϩδΣΫτΛ࡞͢Δ ◦ TSDNBJOSTʹςϯϓϨʔτ͕࡞͞ΕΔɻ
8 ©2023 Loglass Inc. 3VTUͷ -BNCEBͷίʔυͷߏʢDBSHPMBNCEBOFXͰ࡞͞ΕΔςϯϓϨʔτʣ リクエストの型定義(自分で定義できるし、aws_lambda_events に定義された型 を使うこともできる) レスポンスの型定義(同上)
本体の実装 ここに本体の処理内容を書く。 入力の payload は event.payload.XXX で参照できる。 runtime の起動(テンプレートそのままでよい)
9 ©2023 Loglass Inc. ͳͥ 3VTUͰ "84-BNCEBؔΛʁ • ߴʹ࣮ߦͰ͖ͯɺϝϞϦ༻ྔ͕খͯ͘͞ࡁΉ ˠ՝͕ۚ҆͘ࡁΉ
• ੩తܕ͖ݴޠͰ͋ΔͷͰɺೖྗग़ྗͷεΩʔϚ͕ෳࡶͰɺΤσΟλͷ ิΛ͍ͳ͕Βόά͕ग़ʹ͍͘ίʔυ͕ॻ͚Δɻ ◦ +40/ͷγϦΞϥΠζɺσγϦΞϥΠζϓϩάϥϚ͕ؾʹ͢Δ͜ͱ ͳ͍ɻ • γϯάϧόΠφϦͰɺσϓϩΠ͕؆୯ ◦ ίϯύΠϧ͞Ε࣮ͨߦόΠφϦΛ [JQʹΞʔΧΠϒͯ͠ɺΞοϓϩʔυ ͢Δ͚ͩɻ ◦ ଞͷݴޠͰ͋Δͱɺґଘ͕ؔ͋ΔϞδϡʔϧΛҰॹʹ [JQʹΞʔΧΠ ϒͨ͠Γ͢Δඞཁ͕͋Γɺ໘ͳ͜ͱ͋Δɻ
10 ©2023 Loglass Inc. ߴʹ࣮ߦͰ͖ͯɺϝϞϦ༻ྔ͕খͯ͘͞ࡁΉ ͳͥ 3VTUͰ "84-BNCEBؔΛʁ ͍ɺϝϞϦ༻ྔ͕খ͍͞ ˠ
՝͕ۚখ͍͞ -BNCEBͷ՝ۚ • ࣮ߦճ • ϝϞϦཁٻྔ Y࣮ߦ࣌ؒ 'PSDJB$VCF4IJOKVLVSTΛ։࠵͠·ͨ͠ IUUQTXXXGPSDJBDPNCMPHIUNM ۀͰ։ൃͨ͠ "1*Λ ͭͷݴޠͰ࣮ͯ͠ϝϞϦ༻ྔͱ࣮ߦ࣌ؒΛൺֱ ʹ࣮ߦ
11 ©2023 Loglass Inc. ੩తܕ͖ݴޠͰ͋Δ͜ͱͷར ͳͥ 3VTUͰ "84-BNCEBؔΛʁ • "84͔ΒͷΠϕϯτͷεΩʔϚͷఆٛΛఏڙ͢Δ
DSBUF BXT@MBNCEB@FWOFUT ͕͋ΔͷͰɺͦΕΛ ͑ΠϕϯτͷॲཧΛΤσΟλิΛ͍ͳ͕Βॻ͚Δɻ IUUQTEPDTSTBXT@MBNCEB@FWFOUTMBUFTUBXT@MBNCEB@ FWFOUT 4Πϕϯτͷ 3FDPSEͷଐੑ͕ิͰදࣔ͞Ε Δ IUUQTEPDTBXTBNB[PODPNKB@KQ"NB[PO4MBUFTUVTFSHVJEFOPUJGJDBUJPODPOUFOU TUSVDUVSFIUNM ೖྗͱͳΔ 4ΠϕϯτϨίʔυͷαϯϓϧ
12 ©2023 Loglass Inc. γϯάϧόΠφϦͰɺσϓϩΠ͕؆୯ ͳͥ 3VTUͰ "84-BNCEBؔΛʁ ࣗͰ [JQϑΝΠϧΛ࡞ͯ͠Ξοϓϩʔυ͢Δํ๏
• ࣍ͷίϚϯυͰ UBSHFUMBNCEB\QBDLBHFOBNF^CPPUTUSBQͱ͍͏ϑΝΠϧ͕࣮ߦό ΠφϦͱͯ͠ੜ "3.ͷ߹ ◦ DBSHPMBNCEBCVJMESFMFBTFBSN • CPPUTUSBQΛ [JQͰΞʔΧΠϒͯ͠ɺ"84Ϛωδϝϯτίϯιʔε͔ΒΞοϓϩʔυ DBSHPMBNCEBEFQMPZΛ͏ ্ͷҰ࿈ͷ͜ͱΛࣗಈͰͬͯ͘ΕΔɻ ଞͷݴޠͩͱɺґଘؚؔΊͯ [JQΞʔΧΠϒΛ࡞͢Δͷ͕ࡶͳ߹ • 1ZUIPOͷྫ ◦ IUUQTEPDTBXTBNB[PODPNKB@KQMBNCEBMBUFTUEHQZUIPOQBDLBHFIUNM
13 ©2023 Loglass Inc. "84αʔϏεͱ -BNCEBΛΈ߹ΘͤͯɺϓϩμΫτͷҰػೳΛ࡞Γ·ͨ͠ʂ ը໘͔ΒͰͳͯ͘ 4'51ͰϑΝΠϧΛΞοϓϩʔυͯ͠ॲཧ طଘͷ "1*ʹඍमਖ਼ΛՃ
͚͑ͨͩͰɺ"84αʔϏ εͷར༻ͱ -BNCEBؔͷ ࣮Ͱ࣮ݱ ظؒͰ࣮ -BNCEBؔͷ ʮϚΠΫϩαʔϏεʯ
14 ©2023 Loglass Inc. "844%,GPS3VTU͕ ("ʹͳΓ·ͨ͠ʂʂ ࢀߟใ • "844%, "84ͷϦιʔεΛૢ࡞͢Δ
"1*ΛɺϓϩάϥϛϯάݴޠͰهड़Ͱ͖ΔͷͰ͢ɻ • 1SFWJFXʹͳ͍ͬͯͨ 3VTU͚͕ઌɺ("ʹͳΓ·ͨ͠ɻ • 'MVFOU#VJMEFS4UZMFͰύϥϝʔλΛઃఆͯ͠ɺTFOE Ͱ "1*ʹϦΫΤετ͢ΔελΠϧͰશମ͕ ౷Ұ͞Ε͍ͯ·͢ɻ ◦ ΤσΟλͷิͰઃఆύϥϝʔλ͕Θ͔Δͷ͏Ε͍͠ 4ͷ (FU0CKFDUͷίʔυྫ ࢀߟ "844%,GPS3VTUʹ͍ͭͯॻ͍ͨϒϩάIUUQT[FOOEFWMPHMBTTBSUJDMFTDDD
15 ©2023 Loglass Inc. ·ͱΊ • -BNCEBΛ͑ΔΑ͏ʹͳΔͱɺ"84׆༻ͷࣗ༝͕͞Βʹ͕Γ·͢ɻ • -BNCEBΛॻ͍ͯΈΑ͏ͱࢥͬͨΒɺͥͻ 3VTUͰॻ͍ͯΈ·͠ΐ͏
◦ ؆୯ ▪ Πϯετʔϧ ▪ ؆୯ͳίʔυΛॻ͘ͷ ▪ σϓϩΠ ◦ ܦࡁత ▪ ߴɺলϝϞϦ͔ͩΒ՝͕͍ۚ҆
16 ©2023 Loglass Inc. ϩάϥεͰݱࡏʮྑ͍ܠؾΛ࡞Ζ͏ɻʯͱ͍͏ϛογϣϯୡΛࢦ͠ɺؒΛืू͍ͯ͠·͢ʂ 8FBSFIJSJOH IUUQTKPCMPHMBTTKQ ืूதͷओͳΤϯδχΞͷϙδγϣϯ $3& ΞϓϦέʔγϣϯج൫
43& ΫϥυΤϯδχΞ ιϑτΣΞΤϯδχΞʢϨϙʔτɾσʔλੳྖҬʣ 8FCΞϓϦέʔγϣϯΤϯδχΞ 2"4&5ΤϯδχΞ ΤϯδχΞϦϯάϚωʔδϟʔ ͳͲ
17