Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
サーバーレスでデータ連携する際にハマったところ / ninno-techfest-202110...
Search
kasacchiful
PRO
October 22, 2021
Programming
650
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバーレスでデータ連携する際にハマったところ / ninno-techfest-20211022-lt
2021/10/22 (金) NINNO Tech Fest #2 の LT で発表した資料
kasacchiful
PRO
October 22, 2021
More Decks by kasacchiful
See All by kasacchiful
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
550
Step Functions Express ワークフローの使い所 / 20260725jawsug-niigata-sado
kasacchiful
PRO
1
120
Step FunctionsでAIエージェント × 人の承認を試す / 20260705jawsug-hokurikushinkansen-agentcore-hitl-workflow
kasacchiful
PRO
0
130
上越のサメ食文化を訪ねて - 新潟市民の初体験レポ / ssmjp-shark
kasacchiful
PRO
1
89
Rust on AWS でデータ分析 / 20260523iotlt-niigata-rust-on-aws
kasacchiful
PRO
0
69
Step Functionsで始めるサーバーレス入門 〜 つないで動かすAWSサーバーレス
kasacchiful
PRO
0
79
Amazon Q Developer CLI (現Kiro CLI) で作った 新潟ランチマップWebアプリのこれまでとこれから / 20260207jawsug-tochigi
kasacchiful
PRO
0
150
Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を試してみようとしたが、できなかったので、代わりに最近構築したデータ連携基盤を紹介します / 20260117jawsug-fukui
kasacchiful
PRO
0
200
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
PRO
2
310
Other Decks in Programming
See All in Programming
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
120
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
460
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
280
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
18
19k
iOSDCのペンライトを自動制御したい!
akkeylab
0
180
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1k
アクセシビリティから考える情報設計
high_g_engineer
0
430
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
100
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
160
JRuby: Past, Present, and Future
headius
0
210
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
130
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
190
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
Utilizing Notion as your number one productivity tool
mfonobong
4
600
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
560
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
sira's awesome portfolio website redesign presentation
elsirapls
0
430
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Transcript
αʔόʔϨεͰσʔλ࿈ܞ͢Δࡍʹ ϋϚͬͨͱ͜Ζ ּݪ /*//05FDI'FTU
ຊ͓͢͠Δ͜ͱ wαʔόʔϨεͰσʔλ࿈ܞج൫Λߏஙͨ͠ࡍɺϋϚͬͨͱ͜Ζ͕৭ʑ ͋ͬͨͷͰɺ؆୯ʹ͓͠͠·͢ɻ w"84Ͱߏங͍ͯ͠·͢ɻ"84͋·ΓΘ͔Βͳ͍ํɺ༰ࠐΈೖͬͯ ΔͷͰ͍͔͠͠Ε·ͤΜɻ w-5ͳͷʹϖʔδ࡞ͬͨͷͰɺۦ͚ͰਐΈ·͢ɻ
ࣗݾհ w ּݪ w ΫϥεϝιουגࣜձࣾσʔλΞφϦςΟΫεࣄۀຊ෦ w ৽ׁݝ৽ׁࢢࡏॅ w ͖ͳ"84αʔϏε4ɺ-BNCEBɺ4BHF.BLFS
w +"846(৽ׁࢧ෦ʗ1ZUIPOػցֶशษڧձJO৽ׁʗ +B445৽ׁʗ48"/**ʗFUD @kasacchiful @kasacchiful
։࢝ w IUUQTQZNMOJJHBUBDPOOQBTTDPNFWFOU 1ZUIPOػցֶशษڧձJO৽ׁ
w IUUQTKBXTVHOJJHBUBDPOOQBTTDPN +"846(/JJHBUB
+"841"/,3"5*0/ ʙ ͷ࣌ؒΠϕϯτ w IUUQTKBXTQBOLSBUJPOKBXTVHKQ
ຊ αʔόʔϨεͷσʔλج൫
ྫ͑͜Μͳͭ σʔλੳʹ͓͚Δ֤छ"84αʔϏε
ྫ͑͜Μͳͭ 4ʹσʔλೖΕͯɺ-BNCEBͰՃɺ݁ՌΛ4ʹ͓͘ɻ
ྫ͑͜Μͳͭ 4ʹՃࡁσʔλ͓͍ͨΒɺ͋ͱੳʹͲ͏ͧɻ
ࠓճ͜Μͳײ͡ͷͭ 4UFQ'VODUJPOTͷεςʔτϚγϯͰ-BNCEBͷϫʔΫϑϩʔΛ੍ޚͯ͠ɺσʔλ ΛՃ w ճεέδϡʔϧ࣮ߦ
4UFQ'VODUJPOTͷεςʔτϚγϯͰ-BNCEBͷϫʔΫϑϩʔΛ੍ޚͯ͠ɺσʔλ ΛՃ w ճεέδϡʔϧ࣮ߦ ࠓճ͜Μͳײ͡ͷͭ σʔλൃੜݩ͔ΒɺσʔλΛऔ ಘͯ͠4ʹอଘ ֤ϑΝΠϧຖʹɺ࠷ݶͷσʔ λՃΛͯ͠ɺ4ʹอଘ
2VJDL4JHIU #* ༻ʹ ෳϑΝΠϧͷσʔλΛ·ͱΊ ͯదʹܗ͢Δ
͍Ζ͍ΖϋϚͬͨ ϋϚͬͨΛ4ͭհ
ϋϚͬͨͦͷ ಛఆͷσʔλϑΝΠϧଟ͗͢
Έ͋ΔಛఆͷσʔλϑΝΠϧ͚ͩҟৗʹଟ͍ w ؒͷσʔλ͕ϑΝΠϧʹ͋Δ w தϛϦඵ୯ҐͷϨίʔυ w ಛఆͷॲཧ͚͕͔͔ͩ࣌ؒΔ ಛఆͷσʔλϑΝΠϧଟ͗͢
ಛఆͷσʔλϑΝΠϧଟ͗͢ ରॲ๏͋ΔಛఆͷσʔλϑΝΠϧ͚ͩɺຖ࣌ॲཧʹมߋ w ݅ଟ͍σʔλɺ#*ʹग़ྗ͠ͳ͍߲ͩͬͨ w ࣍ॲཧ͔ΒΓͯ͠ɺຖ࣌ॲཧʹมߋ w ࣍ॲཧͷϘτϧωοΫΛআ͍ͨ
ϋϚͬͨͦͷ Athena ͷΫΥʔλ
Έ"UIFOBͷΫΤϦಉ࣮࣌ߦͷΫΥʔλʹҾ͔͔ͬΔ w σʔλҠߦ࣌ʹɺ࣍ॲཧͷ࠷ޙͷ-BNCEBͰΤϥʔʹͳΔ w લஈͰॲཧͨ͠ෳσʔλΛ"UIFOBͬͯ42-ΫΤϦͰऔಘ͢Δͱ͜ΖͰ্ݶʹҾ͔͔ͬΔ w -BNCEBؔͭʹ͖ͭɺɹstart-query-executionɹ"1*Λճίʔϧ w Ұ࣌తʹόʔετͰ্ݶ·Ͱ૿͑Δ͚ͲɺσʔλҠߦ࣌ʹͰ಄ଧͪ w
্ݶ؇ਃ͢Ε্ݶ͋͛ΒΕΔ "UIFOBͷΫΥʔλ
"UIFOBͷΫΥʔλ IUUQTEPDTBXTBNB[PODPNKB@KQTUFQGVODUJPOTMBUFTUEHMJNJUTPWFSWJFXIUNM
ରॲ๏4UFQ'VODUJPOTͷ.BQεςʔτͷ࠷େಉ࣮࣌ߦΛઃఆ w .BQεςʔτ ྻ͢ͱɺಉ࣮࣌ߦͰྻཁૉΛॲཧ͢ΔΠϝʔδ ͷ࠷େಉ࣮࣌ߦΛઃ ఆ͠ɺ"UIFOBͷTUBSURVFSZFYFDVUJPO"1*ίʔϧΛ࠷େ·Ͱʹ͓͑͞Δ "UIFOBͷΫΥʔλ
.BQεςʔτʹ͍ͭͯɺҎԼͷهࣄΛࢀߟʹ "UIFOBͷΫΥʔλ IUUQTEFWDMBTTNFUIPEKQBSUJDMFTTUFQGVODUJPOTVQEBUFNBQTUBUF IUUQTEPDTBXTBNB[PODPNKB@KQTUFQGVODUJPOTMBUFTUEHBNB[POTUBUFTMBOHVBHFNBQTUBUFIUNM
ϋϚͬͨͦͷ Step Functions ͷΫΥʔλ
Έ4UFQ'VODUJPOTͷΠϕϯτཤྺ͕ΫΥʔλʹҾ͔͔ͬΔ w ͋Δಛఆͷ͚ͩɺຖ࣌ॲཧͷϑΝΠϧ͕ҟৗʹଟ͍ w ࣌ؒܦͬͯҟৗऴྃɻ4UFQ'VODUJPOTͷΠϕϯτཤྺͷ্ݶ౸ୡ Πϕϯτ w ্ݶ؇ෆՄͷ߲
4UFQ'VODUJPOTͷΫΥʔλ { "error": "States.Runtime", "cause": "The execution reached the maximum number of history events (25000)." }
4UFQ'VODUJPOTͷΫΥʔλ IUUQTEPDTBXTBNB[PODPNKB@KQTUFQGVODUJPOTMBUFTUEHMJNJUTPWFSWJFXIUNM
ରॲ๏4UFQ'VODUJPOTͷεςʔτϚγϯΛೖΕࢠʹ w εςʔτϚγϯΛೖΕࢠʹ͢Δ͜ͱͰɺΠϕϯτཤྺ্ݶʹҾ͔͔ͬΒͳ͍Α͏ʹͨ͠ w -BNCEBͷಉ࣮࣌ߦ͕͔ͳΓ૿͑ΔͷͰɺҎԼͷରԠΛՃ 㾎 -BNCEBͷಉ࣮࣌ߦͷ্ݶ؇ਃ 㾎 4UFQ'VODUJPOTͷ.BQεςʔτͷ࠷େಉ࣮࣌ߦΛઃఆ 4UFQ'VODUJPOTͷΫΥʔλ
4UFQ'VODUJPOTͷΫΥʔλ มߋલ มߋޙ
4UFQ'VODUJPOTͷΫΥʔλ มߋલ มߋޙ
ϋϚͬͨͦͷ Lambdaͷεέʔϧ͕͍͔ͭͳ͍
Έճ͚ͩ-BNCEBͷ3BUF-JNJUΤϥʔʹૺ۰ w ಉ࣮࣌ߦͷΤϥʔͷΑ͏͚ͩͲʜ w ͢Ͱʹಉ࣮࣌ߦͷ্ݶΛҾ্͖͍͛ͯΔͷͷɺ֤ؔͷϞχλϦϯάݟΔݶΓɺಉ࣮࣌ ߦʹ౸ୡ͍ͯ͠ͳ͍ -BNCEBͷεέʔϧ͕͍͔ͭͳ͍ { "error":
"Lambda.TooManyRequestsException", "cause": "Rate Exceeded. (Service: Lambda, Status Code: 429, Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, Extended Request ID: null)" }
-BNCEBͷεέʔϧ͕͍͔ͭͳ͍ IUUQTEPDTBXTBNB[PODPNKB@KQMBNCEBMBUFTUEHJOWPDBUJPOTDBMJOHIUNM
ରॲ๏-BNCEBؔͷ3FUSZઃఆΛݟ͠ w 4UFQ'VODUJPOTͷ.BQεςʔτͷ࠷େಉ࣮࣌ߦΛݟ͠ w 4UFQ'VODUJPOTͰఆٛ͢Δ-BNCEBͷ3FUSZઃఆΛݟ͠ -BNCEBͷεέʔϧ͕͍͔ͭͳ͍
ରॲ๏-BNCEBؔͷ3FUSZઃఆΛݟ͠ w 3FUSZͷִؒʹ͍ͭͯҎԼͷهࣄ͕ৄ͍͠ -BNCEBͷεέʔϧ͕͍͔ͭͳ͍ $ node -e '((i,m,b)=>{for(let w=i,c=0;c<m;c++){console.log(w+=(c==0?0:b**c))}})(2,7,1.85)'
2 3.85 7.272500000000001 13.604125000000002 25.317631250000005 46.987617812500005 87.07709295312502 IUUQTEFWDMBTTNFUIPEKQBSUJDMFTXBJU@UJNF@BOE@QBSBNT@JO@TUFQ@GVODUJPO@SFUSZ
ରॲ๏-BNCEBؔͷ3FUSZ݅Λݟ͠ w -BNCEBͷ1SPWJTJPOFE$PODVSSFODZઃఆࠓճ࣮ࢪͯ͠ͳ͍ -BNCEBͷεέʔϧ͕͍͔ͭͳ͍ IUUQTEFWDMBTTNFUIPEKQBSUJDMFTMBNCEBQSPWJTJPOFEDPODVSSFODZDPMETUBSU
ิ σʔλͷՃʹ AWS Glueͱ͍͏αʔϏε͋ΔΑʁ
(MVFΘͣʹɺΘ͟Θ͟4UFQ'VODUJPOT -BNCEBͰΉඞཁ͋Δͷ͔ʁ w 4UFQ'VODUJPOT -BNCEBͷ߹ɺΑ͘ΘΕΔ։ൃϑϨʔϜϫʔΫ͕͑ΔͷͰɺෳਓ Ͱͷ։ൃ͕͍͢͠ɻ 㾎 ࠓճ4FSWFSMFTT'SBNFXPSLͬͨɻ w σʔλϑΝΠϧ͕ଟͯ͘ɺσʔλ݅͋ͨΓͷ༰ྔ͕ͦ͜·Ͱେ͖͘ͳ͚Εɺ࣍ୈ
Ͱ-BNCEBͰॲཧ͕Ͱ͖Δɻ w -BNCEBͰΓΕͳ͍σʔλ༰ྔΛѻ͏߹ɺ(MVFͬͨํ͕͍͍ɻ 㾎 ࠷େϝϞϦׂ.#ɺ࠷େ࣮ߦ࣌ؒɺUNQσΟϨΫτϦαΠζ.# σʔλͷՃͳΒ(MVF͕͋Δ
·ͱΊ • αʔόʔϨεαʔϏεΛۦͯ͠ɺσʔλੳج൫Λ ߏஙՄೳ • αʔόʔϨεͷΑ͋͘ΔΞʔΩςΫνϟύλʔϯΛ͏ ·͍͘͜ͳ͠·͠ΐ͏
None