Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Q Developer Proで 効率化するAPI開発 / Streamline...

Amazon Q Developer Proで 効率化するAPI開発 / Streamline API Development with Amazon Q Developer Pro

reInvent 振り返り & LT大会

Avatar for shiro seike

shiro seike

January 10, 2025
Tweet

More Decks by shiro seike

Other Decks in Programming

Transcript

  1. ©Fusic Co., Ltd. 2 ਗ਼Ո ࢙࿠ AWS Community Builder Serverless

    AWS User Group Leaders ίϛϡχςΟ Fukuoka.php Fukuoka.go JAWS-UG Fukuoka Serverless Meetup Fukuoka Cloudflare Meetup Fukuoka JP_Stripes Fukuoka ࣗݾ঺հ ͸͡Ίʹ גࣜձࣾFusic ϓϦϯγύϧΤϯδχΞ/ΤόϯδΣϦετ
  2. ©Fusic Co., Ltd. 3 ձࣾ֓ཁ Fusic 長   長    一 立

    月日 2003 10 月 10 日 - Web / - AI ・ / IoT - Amazon Web Services - 810-0001 4-1-7 3 6F TEL 092-737-2616 FAX 092-737-2617 Q-Board
  3. ©Fusic Co., Ltd. 4 CONTENTS ໨࣍ 1. Amazon Q Developerͱ͸

    2. AWS Re:Invent 2024ͷ࠷৽Ξοϓσʔτ 3. Amazon Q Developer ProΛར༻ͨ͠API։ൃ 4. ·ͱΊ
  4. ©Fusic Co., Ltd. 6 Amazon Q Amazon Web Services͕ఏڙ͢Δੜ੒AI౥ࡌͷߴ౓ͳΞγελϯτ ▪ίʔυੜ੒ͱิ׬

    ɹϦΞϧλΠϜͰͷίʔυఏҊ΍ิ׬Λఏڙ͠ɺ։ൃ଎౓Λ޲্ ▪ࣗ཯ܕΤʔδΣϯτ ɹෳࡶͳλεΫͷࣗಈԽΛࢧԉ͠ɺػೳ࣮૷΍ίʔυจॻԽΛαϙʔτ ▪ίʔυม׵ ɹϨΨγʔίʔυͷϞμφΠθʔγϣϯΛਝ଎ʹߦ͍ɺ ɹ࠷৽ͷٕज़ελοΫ΁ͷҠߦΛ༰қʹ ▪ηΩϡϦςΟεΩϟϯ ɹίʔυͷ੬ऑੑΛݕग़͠ɺमਖ਼ఏҊΛఏڙͯ͠ηΩϡϦςΟΛڧԽ
  5. ©Fusic Co., Ltd. 7 ར༻Մೳͳ؀ڥ ▪AWSϚωδϝϯτίϯιʔϧ ίϯιʔϧ಺Ͱ௥Ճͷϔϧϓ΍৘ใΛఏڙ͠ɺૢ࡞Λαϙʔτ ▪ϞόΠϧΞϓϦ iOSɺAndroid༻ͷϞόΠϧΞϓϦέʔγϣϯ(AWS Console)Ͱ΋ར༻Մೳ

    ▪౷߹։ൃ؀ڥ (IDE) JetBrainsɺIntelliJ IDEAɺVisual StudioɺVS CodeͳͲͰར༻Մೳ ▪ίϚϯυϥΠϯ ϩʔΧϧ͓ΑͼSSHܦ༝ͷλʔϛφϧͰɺ CLIΦʔτίϯϓϦʔτͱAIνϟοτΛఏڙ
  6. ©Fusic Co., Ltd. 8 Amazon Q Developer ͷྉۚ ▪ແྉར༻࿮ جຊػೳΛແྉͰར༻ՄೳͰ͕͢ɺߴ౓ͳػೳʹ͸݄ؒར༻੍ݶ༗

    ▪Amazon Q Developer Pro ֹ݄19 USDͰɺΤϯλʔϓϥΠζΞΫηείϯτϩʔϧ΍ΧελϚΠζ ՄೳͳίʔυఏҊͳͲɺΑΓॆ࣮ͨ͠ػೳΛར༻Մೳ ※2025/01/10ݱࡏ
  7. ©Fusic Co., Ltd. 10 2024೥ͷre:Invent Amazon Q Developer Ξοϓσʔτ ▪ӡ༻ௐࠪػೳͷ௥Ճ

    AWS؀ڥ΍ϦιʔεΛࣗಈతʹ෼ੳ͠ɺ໰୊ͷݪҼڀ໌ͱղܾࡦΛఏࣔ ▪ม׵ػೳͷ֦ॆ .NETΞϓϦέʔγϣϯͷϙʔςΟϯάࢧԉ΍ϝΠϯϑϨʔϜͷ ϞμφΠθʔγϣϯࢧԉΛ͢Δػೳ͕௥Ճ ▪։ൃऀࢧԉػೳͷڧԽ Ϣχοτςετͷࣗಈੜ੒ɺࣗಈίʔυϨϏϡʔɺ υΩϡϝϯτੜ੒ػೳ͕ڧԽ͞Εɺ։ൃޮ཰͕޲্
  8. ©Fusic Co., Ltd. 11 ։ൃऀࢧԉػೳͷڧԽΛ࣮ફ ▪ίʔυੜ੒ (/dev) -> PythonͰAPIͷCRUDػೳΛ࣮૷ ▪ίʔυϨϏϡʔͱमਖ਼

    (/review)ɹ˞Proͷػೳ -> ίʔυͷ඼࣭ΛνΣοΫ͠ɺඞཁͳमਖ਼ ▪୯ମςετͷ࡞੒ (/test)ɹ˞Proͷػೳ -> ϢχοτςετΛࣗಈੜ੒͠ɺίʔυͷ৴པੑΛ֬อ ▪υΩϡϝϯτͷ࡞੒ (/doc)ɹ˞Proͷػೳ -> README.mdΛੜ੒͠ɺϓϩδΣΫτͷ֓ཁ΍࢖༻ํ๏ΛจॻԽ ࢀরURL https://aws.amazon.com/jp/blogs/news/weekly-genai-20241202/
  9. ©Fusic Co., Ltd. 13 ࣮ࢪ޻ఔखॱ Ͱ͖ΔݶΓίʔσΟϯάΛͤͣʹҰൠతͳServerless APIΛߏங͢Δ ᶃཁ݅Λ /dev ίϚϯυ΁ఏڙ͠ίʔυੜ੒

    ᶄੜ੒ίʔυʹରͯ͠ /reviewίϚϯυΛ࣮ߦͯ͠ηΩϡϦςΟνΣοΫ ᶅϨϏϡʔޙͷίʔυʹରͯ͠ /testίϚϯυΛ࣮ߦͯ͠୯ମςετੜ੒ ᶆ࠷ޙʹ /docίϚϯυΛ࢖͍ιʔείʔυશମʹର͢ΔREADMEੜ੒
  10. ©Fusic Co., Ltd. 14 ᶃཁ݅Λ /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ͷαʔόʔϨεΞʔΩςΫνϟ͓ΑͼηΩϡϦςΟͷϕετϓϥΫςΟεʹ४ڌ͍ͯ͠Δ͜ͱΛ֬ೝ͍ͯͩ͘͠͞ɻ
  11. ©Fusic Co., Ltd. 15 ᶃཁ݅Λ /dev ίϚϯυ΁ఏڙ͠ίʔυੜ੒ ▪ཁ༁ɿValidationػߏ͕͋ΔCRUDͷAPIΛ ɹ୯ମςετ͕࣮ࢪͰ͖ΔΑ͏ͳܗͰੜ੒ͯ͠ AWS

    SAMΛ࢖ͬͯɺҎԼͷཁ݅Λຬͨ͢AWS Lambda + DynamoDB APIΛ࡞੒͍ͯͩ͘͠͞ɻ API ɹDynamoDBςʔϒϧʹର͢ΔCRUDૢ࡞Λ࣮૷͍ͯͩ͘͠͞ɻ ɹ֤ૢ࡞͸ɺͦΕͧΕͷHTTPϝιουʹରԠͨ͠ΤϯυϙΠϯτΛ࣋ͭΑ͏ʹ͍ͯͩ͘͠͞ ɹɹ৽ن࡞੒: POST ɹɹσʔλऔಘ: GET ɹɹߋ৽: PUT ɹɹ࡟আ: DELETE ɹAPI͸ϦΫΤετΛॲཧ͢ΔલʹɺೖྗσʔλͷݕূΛߦ͏ඞཁ͕͋Γ·͢ɻ ɹ୯ମςετΛ؆୯ʹ࣮ࢪͰ͖ΔΑ͏ʹɺϋϯυϥʔΛϞδϡʔϧԽ͠ɺ ɹςετ͠΍͍ؔ͢਺ͱͯ͠ઃܭ͍ͯͩ͘͠͞ɻ
  12. ©Fusic Co., Ltd. 16 ᶃཁ݅Λ /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ͷαʔόʔϨεΞʔΩςΫνϟ͓Αͼ ɹηΩϡϦςΟͷϕετϓϥΫςΟεʹ४ڌ͍ͯ͠Δ͜ͱΛ֬ೝ͍ͯͩ͘͠͞ɻ
  13. ©Fusic Co., Ltd. 17 ӳ༁ͯ͠IDE(VSCode)ͷAmazon Q ʹ /devʹ౉͢ VSCodeͷAmazon Q

    ϓϥάΠϯར༻ ೔ຊޠ͸ݱࡏରԠ͍ͯ͠ͳ͍ͷͰ ӳ༁ΛߦͬͯઌఔͷจষΛ /dev ίϚϯυʹ౉͢ ex: /dev Please create AWS Lambda ͠͹Β͘͢Δͱద༻͢Δ͔ฉ͔ΕΔ Apply͢Δͱ࣮ࡍʹϑΝΠϧ͕࡞੒
  14. ©Fusic Co., Ltd. 19 ಈ࡞΋໰୊ͳ͍ͷͰଓ͍ͯ /reviewίϚϯυ ͋͘·Ͱੜ੒AI͕࡞੒ͨ͠΋ͷͳͷͰ ੒Ռ෺ʹ͸ࣗ෼ͨͪͰ ੹೚Λ࣋ͨͳ͍ͱ͍͚ͳ͍ ->

    ϨϏϡʔඞਢ ͦ͜ͰAmazon Q Developer Proͷ /reviewίϚϯυΛ࣮ࢪͤ͞ɺ ੜ੒ͨ͠ίʔυͷϨϏϡʔΛ࣮ࢪ
  15. ©Fusic Co., Ltd. 22 ςετίʔυͷੜ੒΋ /review ͯ͠΋ΒͬͨιʔείʔυͰ ҆શੑ୲อ͸গͳ͔Βͣग़དྷͨঢ়ଶʹ ଓ͍ͯͦͷίʔυͷ඼࣭Λ୲อ͢Δҝ /test

    ίϚϯυͰ୯ମςετΛੜ੒ ୯ମςετ͸ؔ਺ʹର࣮ͯ͠ࢪ͢Δ͕ɺ Amazon QଆͰίʔυʹରͯ͠ ςετ͢΂͖ؔ਺ચ͍ग़͠·Ͱ࣮ࢪ
  16. ©Fusic Co., Ltd. 24 Amazon BedrockͰNovaʹ౤͛ͯղܾ ੜ੒ͯ͠΋ΒͬͨίʔυͳͷͰɺ ͢΂ͯ໢ཏ͢Δͷ͸೉͍͠ ͦ͜Ͱࠓճ͸Amazon Bedrockͷ

    Novaʹରͯ͠मਖ਼ґཔΛߦͬͨॴ ςετίʔυΛ៉ྷʹमਖ਼ ਖ਼͍͠ಈ࡞͕कΒΕͨঢ়ଶʹ
  17. ©Fusic Co., Ltd. 25 ࠷ޙʹREADME ࠷ޙʹιʔείʔυͷશମ૾Λ ࠓޙؔΘΔϓϩδΣΫτͷਓʹ޲͚ͯ ੜ੒͢ΔͨΊɺ /docίϚϯυΛ࣮ࢪ ݁Ռͱͯ͠ࠨهͷΑ͏ͳ

    ௕େͳREADMEΛੜ੒ͯ͘͠Εͨ ͜ͷϓϩδΣΫτࣗମ͸ શ͘ൿಗੑ͸ͳ͍ͷͰɺ ҎԼͷϦϙδτϦʹެ։͍ͯ͠·͢ https://github.com/seike460/amazon-q-generate-api
  18. ©Fusic Co., Ltd. 28 ·ͱΊ Amazon Q Developer͸ɺίʔυੜ੒ͱิ׬ɺηΩϡϦςΟεΩϟϯ౳ɺ༷ʑͳޮ཰Խػೳ͕͋Δ Point 01

    AWS Re:Invent 2024ʹ͸ɺΤϯδχΞͱͯ͠ڵຯਂ͍Amazon Qͷ৽ػೳ͕ͨ͘͞Μൃද͕͋ͬͨ Point 02 Amazon Q Developer ProͷػೳΛϑϧʹ࢖͏͜ͱͰɺ΄΅ίʔσΟϯάͳ͠Ͱίʔυੜ੒ Point 03 ʮಈ͘΋ͷʯͰཹ·Βͣ඼࣭෦෼·Ͱ౿ΈࠐΜͩߏங͕Մೳʹ Point 04