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
サーバーレスでデータ連携する際にハマったところ / ninno-techfest-202110...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kasacchiful
PRO
October 22, 2021
Programming
0
620
サーバーレスでデータ連携する際にハマったところ / ninno-techfest-20211022-lt
2021/10/22 (金) NINNO Tech Fest #2 の LT で発表した資料
kasacchiful
PRO
October 22, 2021
Tweet
Share
More Decks by kasacchiful
See All by kasacchiful
Amazon Q Developer CLI (現Kiro CLI) で作った 新潟ランチマップWebアプリのこれまでとこれから / 20260207jawsug-tochigi
kasacchiful
PRO
0
32
Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を試してみようとしたが、できなかったので、代わりに最近構築したデータ連携基盤を紹介します / 20260117jawsug-fukui
kasacchiful
PRO
0
34
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
PRO
2
210
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
PRO
0
680
ワイがおすすめする新潟の食 / 20250912jasst-niigata-lt
kasacchiful
PRO
0
37
WorkersでDiscord botを試してみた / 20250822workers-tech-talk-niigata
kasacchiful
PRO
1
80
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
PRO
0
250
Amazon Q Developer for CLI を使って PHP Conference 新潟 2025 参加者向けにグルメサイトを構築した話 / 20250620niigata-5min-tech
kasacchiful
PRO
1
140
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
PRO
0
480
Other Decks in Programming
See All in Programming
Oxlint JS plugins
kazupon
1
980
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
270
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
760
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
470
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
高速開発のためのコード整理術
sutetotanuki
1
400
SourceGeneratorのススメ
htkym
0
200
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.3k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
590
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
290
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
130
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Side Projects
sachag
455
43k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
910
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Accessibility Awareness
sabderemane
0
53
Designing Experiences People Love
moore
144
24k
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