Slide 1

Slide 1 text

©Fusic Co., Ltd. 1 Amazon Q Developer ProͰ ޮ཰Խ͢ΔAPI։ൃೖ໳ 2025.02.08 @seike460 JAWS-UG෱Ԭ #19 re:Invent re:Cap!!

Slide 2

Slide 2 text

©Fusic Co., Ltd. 2 ࣗݾ঺հ ͸͡Ίʹ ਗ਼Ո ࢙࿠ (@seike460) S H I R O S E I K E גࣜձࣾFusicɹϓϦϯγύϧΤϯδχΞ/ΤόϯδΣϦετ AWS Community Builder Serverless - ίϛϡχςΟ - JAWS-UG Fukuoka - Fukuoka.php - Fukuoka.go - Serverless Meetup Fukuoka - Cloudflare Meetup Fukuoka - JP_Stripes Fukuoka - JBUG Fukuoka

Slide 3

Slide 3 text

©Fusic Co., Ltd. 3 CONTENTS ໨࣍ 1. Amazon Q Developerͱ͸ 2. Amazon Q Developer ProΛར༻ͨ͠API։ൃ 3. ·ͱΊ

Slide 4

Slide 4 text

©Fusic Co., Ltd. 4 Amazon Q Developerͱ͸ 1

Slide 5

Slide 5 text

©Fusic Co., Ltd. 5 Amazon Q Developer Amazon Web Services͕ఏڙ͢Δੜ੒AI౥ࡌͷߴ౓ͳΞγελϯτ ■ίʔυੜ੒ͱิ׬ ɹϦΞϧλΠϜͰͷίʔυఏҊ΍ิ׬Λఏڙ͠ɺ։ൃ଎౓Λ޲ ɹJetBrainsɺIntelliJ IDEAɺVisual StudioɺVS CodeͳͲͰར༻Մೳ ■ࣗ཯ܕΤʔδΣϯτ ɹෳࡶͳλεΫͷࣗಈԽΛࢧԉ͠ɺػೳ࣮૷΍ίʔυจॻԽΛαϙʔτ ■ίʔυม׵ ɹϨΨγʔίʔυͷϞμφΠθʔγϣϯΛਝ଎ʹߦ͍ɺ ɹ࠷৽ͷٕज़ελοΫ΁ͷҠߦΛ༰қʹ ■ηΩϡϦςΟεΩϟϯ ɹίʔυͷ੬ऑੑΛݕग़͠ɺमਖ਼ఏҊΛఏڙͯ͠ηΩϡϦςΟΛڧԽ

Slide 6

Slide 6 text

©Fusic Co., Ltd. 6 Amazon Q Developer ͷྉۚ ■ແྉར༻࿮ جຊػೳΛແྉͰར༻ՄೳͰ͕͢ɺߴ౓ͳػೳʹ͸݄ؒར༻੍ݶ༗ ■Amazon Q Developer Pro ֹ݄19 USDͰɺΤϯλʔϓϥΠζΞΫηείϯτϩʔϧ΍ΧελϚΠζ ՄೳͳίʔυఏҊͳͲɺΑΓॆ࣮ͨ͠ػೳΛར༻Մೳ ※2025/02/08ݱࡏ

Slide 7

Slide 7 text

©Fusic Co., Ltd. 7 ։ൃऀࢧԉػೳͷڧԽΛ࣮ફ ■ίʔυੜ੒ (/dev) -> PythonͰAPIͷCRUDػೳΛ࣮૷ ■ίʔυϨϏϡʔͱमਖ਼ (/review)ɹ˞Proͷػೳ -> ίʔυͷ඼࣭ΛνΣοΫ͠ɺඞཁͳमਖ਼ ■୯ମςετͷ࡞੒ (/test)ɹ˞Proͷػೳ -> ϢχοτςετΛࣗಈੜ੒͠ɺίʔυͷ৴པੑΛ֬อ ■υΩϡϝϯτͷ࡞੒ (/doc)ɹ˞Proͷػೳ -> README.mdΛੜ੒͠ɺϓϩδΣΫτͷ֓ཁ΍࢖༻ํ๏ΛจॻԽ ࢀরURL https://aws.amazon.com/jp/blogs/news/weekly-genai-20241202/

Slide 8

Slide 8 text

©Fusic Co., Ltd. 8 Amazon Q DeveloperΛར༻ͨ͠API։ൃ 2

Slide 9

Slide 9 text

©Fusic Co., Ltd. 9 ࣮ࢪ޻ఔखॱ Ͱ͖ΔݶΓίʔσΟϯάΛͤͣʹҰൠతͳServerless APIΛߏங͢Δ ᶃཁ݅Λ /dev ίϚϯυ΁ఏڙ͠ίʔυੜ੒ ᶄੜ੒ίʔυʹରͯ͠ /reviewίϚϯυΛ࣮ߦͯ͠ηΩϡϦςΟνΣοΫ ᶅϨϏϡʔޙͷίʔυʹରͯ͠ /testίϚϯυΛ࣮ߦͯ͠୯ମςετੜ੒ ᶆ࠷ޙʹ /docίϚϯυΛ࢖͍ιʔείʔυશମʹର͢ΔREADMEੜ੒

Slide 10

Slide 10 text

©Fusic Co., Ltd. 10 ᶃཁ݅Λ /dev ίϚϯυ΁ఏڙ͠ίʔυੜ੒ AWS SAMΛ࢖ͬͯɺҎԼͷཁ݅Λຬͨ͢AWS Lambda + DynamoDB APIΛ࡞੒͍ͯͩ͘͠͞ɻ API ɹDynamoDBςʔϒϧʹର͢ΔCRUDૢ࡞Λ࣮૷͍ͯͩ͘͠͞ɻ ɹ֤ૢ࡞͸ɺͦΕͧΕͷHTTPϝιουʹରԠͨ͠ΤϯυϙΠϯτΛ࣋ͭΑ͏ʹ͍ͯͩ͘͠͞ ɹɹ৽ن࡞੒: POST ɹɹσʔλऔಘ: GET ɹɹߋ৽: PUT ɹɹ࡟আ: DELETE ɹAPI͸ϦΫΤετΛॲཧ͢ΔલʹɺೖྗσʔλͷݕূΛߦ͏ඞཁ͕͋Γ·͢ɻ ɹ୯ମςετΛ؆୯ʹ࣮ࢪͰ͖ΔΑ͏ʹɺϋϯυϥʔΛϞδϡʔϧԽ͠ɺςετ͠΍͍ؔ͢਺ͱͯ͠ઃܭ͍ͯͩ͘͠͞ɻ ΠϯϑϥετϥΫνϟ ɹAWS SAMΛ࢖ͬͯɺLambdaؔ਺ͱDynamoDBςʔϒϧΛtemplate.yaml಺ʹఆ͍ٛͯͩ͘͠͞ɻ ɹLambdaؔ਺ͷ࣮ߦ؀ڥͱͯ͠Python 3.12Λ࢖༻͍ͯͩ͘͠͞ɻ ɹLambdaؔ਺ʹ͸DynamoDB΁ͷΞΫηεݖݶΛ࣋ͭIAMϩʔϧΛׂΓ౰͍ͯͯͩ͘͞ɻ ɹɹCI/CDύΠϓϥΠϯʢGitHub Actionsར༻ʣ ɹɹɹCI ɹɹɹɹLambdaؔ਺ͷ͢΂ͯͷϋϯυϥʔʹରͯ͠ɺPytestΛ࢖ͬͨ୯ମςετΛؚΊ͍ͯͩ͘͞ɻ ɹɹɹɹϦϙδτϦʹίʔυΛϓογϡͨ͠ΓɺϓϧϦΫΤετΛ࡞੒ͨ͠ࡍʹɺࣗಈతʹςετ͕࣮ߦ͞ΕΔ࢓૊Έʹ͍ͯͩ͘͠͞ɻ ɹɹɹɹGitHub ActionsͷϫʔΫϑϩʔͰPython 3.12Λ࣮ߦ؀ڥͱͯ͠ઃఆ͍ͯͩ͘͠͞ɻ ɹɹɹCD ɹɹɹɹ͢΂ͯͷςετʹ߹֨ͨ͠ޙʹɺAWS SAMίϚϯυͰAPIΛσϓϩΠ͍ͯͩ͘͠͞ɻ ཹҙࣄ߲ ɹߏ੒Λ؆͔ܿͭ໌֬ʹ͍ͯͩ͘͠͞ɻ ɹ͢΂ͯͷઃఆͱίʔυ͕AWSͷαʔόʔϨεΞʔΩςΫνϟ͓ΑͼηΩϡϦςΟͷϕετϓϥΫςΟεʹ४ڌ͍ͯ͠Δ͜ͱΛ֬ೝ͍ͯͩ͘͠͞ɻ

Slide 11

Slide 11 text

©Fusic Co., Ltd. 11 ᶃཁ݅Λ /dev ίϚϯυ΁ఏڙ͠ίʔυੜ੒ ■ཁ༁ɿValidationػߏ͕͋ΔCRUDͷAPIΛ ɹ୯ମςετ͕࣮ࢪͰ͖ΔΑ͏ͳܗͰੜ੒ͯ͠ AWS SAMΛ࢖ͬͯɺҎԼͷཁ݅Λຬͨ͢AWS Lambda + DynamoDB APIΛ࡞੒͍ͯͩ͘͠͞ɻ API ɹDynamoDBςʔϒϧʹର͢ΔCRUDૢ࡞Λ࣮૷͍ͯͩ͘͠͞ɻ ɹ֤ૢ࡞͸ɺͦΕͧΕͷHTTPϝιουʹରԠͨ͠ΤϯυϙΠϯτΛ࣋ͭΑ͏ʹ͍ͯͩ͘͠͞ ɹɹ৽ن࡞੒: POST ɹɹσʔλऔಘ: GET ɹɹߋ৽: PUT ɹɹ࡟আ: DELETE ɹAPI͸ϦΫΤετΛॲཧ͢ΔલʹɺೖྗσʔλͷݕূΛߦ͏ඞཁ͕͋Γ·͢ɻ ɹ୯ମςετΛ؆୯ʹ࣮ࢪͰ͖ΔΑ͏ʹɺϋϯυϥʔΛϞδϡʔϧԽ͠ɺ ɹςετ͠΍͍ؔ͢਺ͱͯ͠ઃܭ͍ͯͩ͘͠͞ɻ

Slide 12

Slide 12 text

©Fusic Co., Ltd. 12 ᶃཁ݅Λ /dev ίϚϯυ΁ఏڙ͠ίʔυੜ੒ ■ཁ༁ɿCIͰPytestͯ͠੒ޭͨ͠ΒPython3.12Λ࣮ߦ؀ڥͱ͠ɺ ɹAWS SAMͰσϓϩΠ͢ΔΑ͏ͳCI/CDύΠϓϥΠϯؚΊੜ੒ͯ͠ ΠϯϑϥετϥΫνϟ ɹAWS SAMΛ࢖ͬͯɺLambdaؔ਺ͱDynamoDBςʔϒϧΛtemplate.yaml಺ʹఆ͍ٛͯͩ͘͠͞ɻ ɹLambdaؔ਺ͷ࣮ߦ؀ڥͱͯ͠Python 3.12Λ࢖༻͍ͯͩ͘͠͞ɻ ɹLambdaؔ਺ʹ͸DynamoDB΁ͷΞΫηεݖݶΛ࣋ͭIAMϩʔϧΛׂΓ౰͍ͯͯͩ͘͞ɻ ɹɹCI/CDύΠϓϥΠϯʢGitHub Actionsར༻ʣ ɹɹɹCI ɹɹɹɹLambdaؔ਺ͷ͢΂ͯͷϋϯυϥʔʹରͯ͠ɺPytestΛ࢖ͬͨ୯ମςετΛؚΊ͍ͯͩ͘͞ɻ ɹɹɹɹϦϙδτϦʹίʔυΛϓογϡͨ͠ΓɺϓϧϦΫΤετΛ࡞੒ͨ͠ࡍʹɺࣗಈతʹςετ͕࣮ߦ͞ΕΔ࢓૊Έʹ͍ͯͩ͘͠͞ɻ ɹɹɹɹGitHub ActionsͷϫʔΫϑϩʔͰPython 3.12Λ࣮ߦ؀ڥͱͯ͠ઃఆ͍ͯͩ͘͠͞ɻ ɹɹɹCD ɹɹɹɹ͢΂ͯͷςετʹ߹֨ͨ͠ޙʹɺAWS SAMίϚϯυͰAPIΛσϓϩΠ͍ͯͩ͘͠͞ɻ ཹҙࣄ߲ ɹߏ੒Λ؆͔ܿͭ໌֬ʹ͍ͯͩ͘͠͞ɻ ɹ͢΂ͯͷઃఆͱίʔυ͕AWSͷαʔόʔϨεΞʔΩςΫνϟ͓Αͼ ɹηΩϡϦςΟͷϕετϓϥΫςΟεʹ४ڌ͍ͯ͠Δ͜ͱΛ֬ೝ͍ͯͩ͘͠͞ɻ

Slide 13

Slide 13 text

©Fusic Co., Ltd. 13 ӳ༁ͯ͠IDE(VSCode)ͷAmazon Q ʹ /devʹ౉͢ VSCodeͷAmazon Q ϓϥάΠϯར༻ ೔ຊޠ͸ݱࡏରԠ͍ͯ͠ͳ͍ͷͰ ӳ༁ΛߦͬͯઌఔͷจষΛ /dev ίϚϯυʹ౉͢ ex: /dev Please create AWS Lambda ͠͹Β͘͢Δͱద༻͢Δ͔ฉ͔ΕΔ Apply͢Δͱ࣮ࡍʹϑΝΠϧ͕࡞੒

Slide 14

Slide 14 text

©Fusic Co., Ltd. 14 1݅Τϥʔ͕ग़͕ͨɺ؆୯ʹ௚ͤΔ΋ͷͩͬͨ ؀ڥม਺ͱͯ͠STACK_NAME౉͚ͩ͢Ͱྑͦ͞͏ Template.yamlʹ؀ڥม਺Λ௥Ճ͠ɺͦͷޙ໰୊ͳ͘σϓϩΠ׬ྃ

Slide 15

Slide 15 text

©Fusic Co., Ltd. 15 ಈ࡞΋໰୊ͳ͍ͷͰଓ͍ͯ /reviewίϚϯυ ͋͘·Ͱੜ੒AI͕࡞੒ͨ͠΋ͷͳͷͰ ੒Ռ෺ʹ͸ࣗ෼ͨͪͰ ੹೚Λ࣋ͨͳ͍ͱ͍͚ͳ͍ -> ϨϏϡʔඞਢ ͦ͜ͰAmazon Q Developer Proͷ /reviewίϚϯυΛ࣮ࢪͤ͞ɺ ੜ੒ͨ͠ίʔυͷϨϏϡʔΛ࣮ࢪ

Slide 16

Slide 16 text

©Fusic Co., Ltd. 16 ॏཁ౓ʹ෼ྨͯ͠ࢦఠ͞ΕΔ ͨͩରԠ͢ΔࣄʹͳΔͱ ηΩϡϦςΟܥͷରԠͳͲ͕ଟ͍ͨΊ ߴ౓ͳίʔσΟϯάٕज़͕ඞཁʹͳΔ ͔͠͠੺࿮಺ͷ஬؟ڸϚʔΫΛԡԼ

Slide 17

Slide 17 text

©Fusic Co., Ltd. 17 Կނࢦఠ͞Ε͍ͯΔ͔ɺରԠίʔυ·Ͱੜ੒ ࢦఠ಺༰ मਖ਼Ҋ ఏҊΛड͚ೖΕΔ

Slide 18

Slide 18 text

©Fusic Co., Ltd. 18 ςετίʔυͷੜ੒΋ /review ͯ͠΋ΒͬͨιʔείʔυͰ ҆શੑ୲อ͸গͳ͔Βͣग़དྷͨঢ়ଶʹ ଓ͍ͯͦͷίʔυͷ඼࣭Λ୲อ͢Δҝ /test ίϚϯυͰ୯ମςετΛੜ੒ ୯ମςετ͸ؔ਺ʹର࣮ͯ͠ࢪ͢Δ͕ɺ Amazon QଆͰίʔυʹରͯ͠ ςετ͢΂͖ؔ਺ચ͍ग़͠·Ͱ࣮ࢪ

Slide 19

Slide 19 text

©Fusic Co., Ltd. 19 76݅΋ͷ୯ମςετΛࣗಈੜ੒ ͨͩ͠ɺ2݅ਖ਼͍͠͸ͣͳͷʹ௨Βͳ͍Α͏ͳঢ়ଶʹ ͜ͷ෦෼͸ࣗ෼ͨͪͰमਖ਼͢Δඞཁ͕͋Γ·ͨ͠

Slide 20

Slide 20 text

©Fusic Co., Ltd. 20 Amazon BedrockͰNovaʹ౤͛ͯղܾ ੜ੒ͯ͠΋ΒͬͨίʔυͳͷͰɺ ͢΂ͯ໢ཏ͢Δͷ͸೉͍͠ ͦ͜Ͱࠓճ͸Amazon Bedrockͷ Novaʹରͯ͠मਖ਼ґཔΛߦͬͨॴ ςετίʔυΛ៉ྷʹमਖ਼ ਖ਼͍͠ಈ࡞͕कΒΕͨঢ়ଶʹ

Slide 21

Slide 21 text

©Fusic Co., Ltd. 21 ࠷ޙʹREADME ࠷ޙʹιʔείʔυͷશମ૾Λ ࠓޙؔΘΔϓϩδΣΫτͷਓʹ޲͚ͯ ੜ੒͢ΔͨΊɺ /docίϚϯυΛ࣮ࢪ ݁Ռͱͯ͠ࠨهͷΑ͏ͳ ௕େͳREADMEΛੜ੒ͯ͘͠Εͨ ͜ͷϓϩδΣΫτࣗମ͸ શ͘ൿಗੑ͸ͳ͍ͷͰɺ ҎԼͷϦϙδτϦʹެ։͍ͯ͠·͢ https://github.com/seike460/amazon-q-generate-api

Slide 22

Slide 22 text

©Fusic Co., Ltd. 22 ΋ͪΖΜCI/CD͸ਖ਼͘͠ಈ࡞ ࠷ॳʹCI/CDΛߏஙґཔͨ͠ͷͰɺ ໰୊ͳ͘࡞੒ͨ͠୯ମςετΛ௨͠ɺ ͦͷޙ࣮ࡍͷσϓϩΠ·Ͱ ࣮ࢪग़དྷ͓ͯΓ·͢ ΄΅ίʔσΟϯάͳ͠Ͱɺ ࠷ॳͷཁ݅௨Γͷίʔυੜ੒͕ ग़དྷ·ͨ͠

Slide 23

Slide 23 text

©Fusic Co., Ltd. 23 ·ͱΊ 3

Slide 24

Slide 24 text

©Fusic Co., Ltd. 24 ·ͱΊ Amazon Q Developer͸ɺίʔυੜ੒ͱิ׬ɺηΩϡϦςΟεΩϟϯ౳ɺ༷ʑͳޮ཰Խػೳ͕͋Δ Point 01 AWS Re:Invent 2024ʹ͸ɺΤϯδχΞͱͯ͠ڵຯਂ͍Amazon Qͷ৽ػೳ͕ͨ͘͞Μൃද͕͋ͬͨ Point 02 Amazon Q Developer ProͷػೳΛϑϧʹ࢖͏͜ͱͰɺ΄΅ίʔσΟϯάͳ͠Ͱίʔυੜ੒ Point 03

Slide 25

Slide 25 text

©Fusic Co., Ltd. 25 એ఻

Slide 26

Slide 26 text

©Fusic Co., Ltd. 26 Thank You We are Hiring! https://recruit.fusic.co.jp/ ͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠