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
370
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rust で AWS で活用しよう!
estie さん主催「Rust、何もわからない... #11」で講演した資料です。
AWS Lambda 関数を Rust で書くことについて、紹介しました。
Tabito Hara
December 12, 2023
Other Decks in Technology
See All in Technology
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
180
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
240
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
150
知見・人・API・DB・予算 ─ ナイナイ尽くしだった人事データ整備 with dbt、5年間の学び
ken6377
1
120
組織における AI-DLC 実践
askul
0
250
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
310
攻撃者がいなくてもAIエージェントはインシデントを起こす
nomizone
0
180
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
3
1.6k
Microsoft のサポートとフィードバック総まとめ
murachiakira
PRO
0
130
Foundry Toolkit + Lemonade Serverでローカルワークフロー開発
seosoft
0
110
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
550
【FinOps】データドリブンな意思決定を目指して
z63d
3
560
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
KATA
mclloyd
PRO
35
15k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Designing Powerful Visuals for Engaging Learning
tmiket
1
430
Believing is Seeing
oripsolob
1
160
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Technical Leadership for Architectural Decision Making
baasie
3
430
Making the Leap to Tech Lead
cromwellryan
135
9.9k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
My Coaching Mixtape
mlcsv
0
160
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