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
0
270
Rust で AWS で活用しよう!
estie さん主催「Rust、何もわからない... #11」で講演した資料です。
AWS Lambda 関数を Rust で書くことについて、紹介しました。
Tabito Hara
December 12, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
フルカイテン株式会社 採用資料
fullkaiten
0
40k
Platform Engineering for Software Developers and Architects
syntasso
1
450
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
110
今、始める、第一歩。 / Your first step
yahonda
2
730
Microsoft MVPになる前、なってから/Fukuoka_Tech_Women_Community_1_baba
nina01
0
180
FOSS4G 2024 Japan コアデイ 一般発表25 PythonでPLATEAUのデータを手軽に扱ってみる
ra0kley
1
140
[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!
nssv
1
190
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
290
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
210
Going down the RAT hole: Deep dive into the Vuln-derland of APT-class RAT Tools
nttcom
0
330
AWS⼊社という選択肢、⾒えていますか
iwamot
2
1.1k
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
470
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
RailsConf 2023
tenderlove
29
900
Raft: Consensus for Rubyists
vanstee
136
6.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
570
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
The Invisible Side of Design
smashingmag
297
50k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
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