Slide 1

Slide 1 text

Amazon PinpointΛ༻͍ͯEmail΍LINE௨஌Λ ࣗಈԽͨ͠ج൫ 2019.10.03 AWS DevDay Tokyo 2019 C-4 גࣜձࣾεφοΫϛʔ CTO & co-founder ࡾ޷ ൏ਓ

Slide 2

Slide 2 text

• גࣜձࣾεφοΫϛʔ • ࡾ޷ ൏ਓ co-founder & CTO • ౦ژੜ·Ε౦ژҭͪ • ݐஙग़਎ΤϯδχΞ • τϥΠΞεϩϯ΍ϚϥιϯΛᅂΉ @miyoshihayato

Slide 3

Slide 3 text

1. snaq.me(εφοΫϛʔ) ʹ͍ͭͯ 1,980ԁ (੫ࠐ) 100छҎ্͔Β8छͷ͓΍ͭΛҰਓͻͱΓʹηϨΫτ͓ͯ͠ಧ͚ Real Food͔Β࡞ͬͨɺඒຯͯ͘͠Χϥμʹ༏͍͓͠΍ͭΛ͓ҰਓͻͱΓʹ ΧελϚΠζ͓ͯ͠ಧ͚͢ΔαϒεΫϦϓγϣϯαʔϏε

Slide 4

Slide 4 text

Mission Vison ৽͍͓͠΍ͭମݧΛ૑଄͠ɺ ͓΍ͭͷ࣌ؒΛՁ஋ͷ͋Δ΋ͷʹ͢Δɻ ਺ඦԯԁن໛ͷ Real FoodεφοΫࢢ৔Λ૑Γɺ ͦͷࢢ৔ͷφϯόʔ1ϒϥϯυͱͳΔɻ ӫཆՁ͕ߴ͘ɺͦΕͰ͍ͯඒຯ͠͞ʹଥڠ͠ͳ͍εφοΫʹΑͬͯɺ͓΍ͭͦͷ΋ͷ࣭Λ্͛Δɻ ·ͨɺϞϊ͚ͩͰ͸ͳ͘ɺ৽͍͓͠΍ͭମݧΛσβΠϯ͠ɺ͓΍ͭͷ࣌ؒͷՁ஋Λ޲্ͤ͞Δɻ ͦΕʹΑͬͯɺ͓΍ͭͷ͕࣌ؒ࠼ΓͱͳΓɺ๛͔ͳੜ׆Λ࣮ݱ͢Δɻ Real FoodεφοΫͱ͸ɺܗ͋ΔReal FoodͷΈ͔Β࡞ΒΕͨεφοΫɻ ૉࡐຊདྷ͕࣋ͭӫཆͱඒຯ͠͞Λ࠷େݶʹ׆͔͠ɺਓ޻తͳݪྉ΍Խֶ෺࣭͸࢖Θͳ͍ɻ ӫཆՁ͕ߴ݈͘߁తͰɺͦΕͰ͍ͯඒຯ͠͞ʹଥڠ͸͠ͳ͍ɻ

Slide 5

Slide 5 text

εφοΫϛʔͷ঎඼։ൃج४ Made From Real Food Խֶ෺࣭ʹཔΒͣɺࣗવͳૉࡐ͔Βඒຯ͠͞ͱӫཆΛҾ͖ग़͢ Create a New Culture ৽͍͠৯จԽ΍৯श׳Λ࡞Γग़͠͏Δ Without Compromise ඒຯ͠͞ʹଥڠ͠ͳ͍

Slide 6

Slide 6 text

υϥΠϑϧʔπɾφοπ τϨΠϧϛοΫε ম͖՛ࢠ νϣί νοϓε ถ՛ ͦͷଞ ϑϧʔπ՛ࢠ قઅʹ߹Θͤͨ঎඼100SKUҎ্Λৗ࣌ࡏݿɻຖ݄10ʙ20%ΛೖΕସ͑ɻ 1. snaq.me(εφοΫϛʔ) ʹ͍ͭͯ

Slide 7

Slide 7 text

1. snaq.me(εφοΫϛʔ) ʹ͍ͭͯ ੡଄ࢦࣔॻ ࡞੒ ੡଄ ࡏݿొ࿥ ΞαΠϯ ϐοΩϯά ൃૹ ੡଄͔Βൃૹ४උ·ͰҰ؏

Slide 8

Slide 8 text

1. snaq.me(εφοΫϛʔ) ʹ͍ͭͯ ෼ੳ TOBDLCPY ͓΍ͭͷධՁ/ ϦΫΤετ ৽঎඼։ൃ ͓΍ͭͷA/Bςετ ͓ಧ͚͢Δ͓΍ͭΛܾఆ

Slide 9

Slide 9 text

։ൃͷओͳπʔϧ - αʔόʔαΠυ : Ruby on Rails (PHP) - ϑϩϯτΤϯυݴޠ : BabelɺҰ෦TypeScript - ϑϩϯτΤϯυ : React, Redux, webpack - UIίϯϙʔωϯτΧλϩά : Storybook - σʔλ෼ੳ : python - σʔλϕʔε : Aurora, DynamoDB - Πϯϑϥ : AWS - ։ൃ؀ڥ : Vagrant, Docker - ϦϙδτϦ؅ཧ : GitHub / codecommit - CI / CDͳͲ : CodePipeLine / jest / RSpec - ίϛϡχέʔγϣϯ : Qiita:Team, Slack

Slide 10

Slide 10 text

Amazon PinpointΛ༻͍ͯEmail΍LINE௨஌ΛࣗಈԽͨ͠ج൫ͷ࿩ ͔͜͜Βຊ୊΁

Slide 11

Slide 11 text

ͦ΋ͦ΋ɺͳͥLINE(νϟοτUI)Λ༻͍ͨͷ͔ʁ

Slide 12

Slide 12 text

2015೥ͷ૑ۀલ͔ΒҎԼͷΑ͏ʹߟ͍͑ͯ·ͨ͠ • UX͕໌֬ • νϟοτUI͸࿝एஉঁ࢖͑Δ • ͜Ε͔Β͸νϟοτUI͕ϕʔεʹͳΔՄೳੑ͕͋Δ • LINE͔ΒpushͰ͖Δ • LINE্ͩͱϑϨΩγϒϧʹUIΛૢΕͳ͍ͷͰwebʹҊ಺͢ΔΑ͏ʹͨ͠

Slide 13

Slide 13 text

εφοΫϛʔ౰ॳ͸ʁ

Slide 14

Slide 14 text

౰ॳ͸

Slide 15

Slide 15 text

΍ΓͱΓશͯνϟοτܗࣜ ධՁ΋ϦΫΤετ΋

Slide 16

Slide 16 text

νϟοτUI͸͍͍ͱ͜Ζ͚ͩ͡Όͳ͍ ໨త͕͔ͬ͠Γ͍ͯ͠Δ৔߹͸ճΓ͘Ͳ͍ ॳճɺॳݟϢʔβʔʹνϟοτͰҊ಺͢Δͱ࢖͍উख޲্ ⭕ ❌ 2प໨(ֶशࡁΈͷUIUX) ❌

Slide 17

Slide 17 text

CSͱͯ͠ͷίϛϡχέʔγϣϯ1ຊʹ ͦͷͨΊ

Slide 18

Slide 18 text

LINE Messaging API ༻͍͍ͯΔͷ͕

Slide 19

Slide 19 text

• اۀͱϢʔβʔͷ૒ํίϛϡχέʔγϣϯ͕Մೳ • ϓογϡϝοηʔδͱԠ౴ϝοηʔδ • 1ର1ɺάϧʔϓͰτʔΫՄೳ • ͞·͟·ͳঢ়گʹ߹ΘͤͨϝοηʔδλΠϓ • ςΩετ • ελϯϓ • Ի੠ • ը૾ͳͲ LINE Messaging APIͰͰ͖Δ͜ͱ

Slide 20

Slide 20 text

ߏ੒ਤ Ϣʔβʔૹ৴ ελοϑૹ৴ ελοϑ΁௨஌ Amazon Route 53 Elastic Load Balancing Elastic Load Balancing EC2 EC2 Amazon Aurora

Slide 21

Slide 21 text

ߏ੒ਤ Ϣʔβʔૹ৴ ελοϑૹ৴ ελοϑ΁௨஌ Amazon Route 53 Elastic Load Balancing Elastic Load Balancing EC2 EC2 Amazon Aurora

Slide 22

Slide 22 text

ߏ੒ਤ Ϣʔβʔૹ৴ ελοϑૹ৴ ελοϑ΁௨஌ Amazon Route 53 Elastic Load Balancing Elastic Load Balancing EC2 EC2 Amazon Aurora

Slide 23

Slide 23 text

ૹड৴Λ෼͚͍ͯΔཧ༝ Ϣʔβʔ͔Βͷϝοηʔδड৴͸ઈରʂམͱͤͳ͍

Slide 24

Slide 24 text

• αʔϏε͕άϩʔε͢Ε͹ɺCS΋૿΍͢ඞཁ͕͋Δ • Ͳ͜·ͰΞ΢τό΢ϯυ(ελοϑൃ৴)Λߦ͏͔ • ͕ͩɺϢʔβʔͱͷ઀఺͸ଟ͍࣋ͪͨ͘ • ৽͍͠ࢪࡦΛࢼ͍ͨ͠ ͳͲ ՝୊

Slide 25

Slide 25 text

• αʔϏε͕άϩʔε͢Ε͹ɺCS΋૿΍͢ඞཁ͕͋Δ • Ͳ͜·ͰΞ΢τό΢ϯυ(ελοϑൃ৴)Λߦ͏͔ • ͕ͩɺϢʔβʔͱͷ઀఺͸ଟ͍࣋ͪͨ͘ • ৽͍͠ࢪࡦΛࢼ͍ͨ͠ ͳͲ ՝୊

Slide 26

Slide 26 text

1ର1ͷରԠ͸࢒͠ɺ1ରଟΛͰ͖Δ࢓૊Έͷߏங Ϣʔβʔͱ઀͢Δʹ͸1า(௨)໨͕େࣄͳͷͰ

Slide 27

Slide 27 text

ηάϝϯτର৅ͷ1௨໨͸ awsΛ༻͍ͨγεςϜ ͦͷޙ͸1ର1Ͱ ϝοηʔδͷ΍ΓऔΓ ͜͏͍͏͜ͱ

Slide 28

Slide 28 text

ηάϝϯτͨ͠Ϣʔβʔ΁഑৴ΛࣗಈԽͰ͖Δج൫͕ཉ͍͠

Slide 29

Slide 29 text

Amazon Pinpoint

Slide 30

Slide 30 text

Amazon Pinpoint ͱ͸ Τϯήʔδϝϯτνϟωϧ ϝοηʔδΛͻͱͭͷνϟωϧ͔ɺଟ͘ͷνϟωϧܦ༝ͰૹΔ͔ʹ͔͔ΘΒͣɺੈքதͷԿඦສ΋ͷސ٬ʹ؆୯ Ͱ৴པੑߴ͘ϝοηʔδΛಧ͚Δ͜ͱ͕Ͱ͖·͢ɻ Τϯήʔδϝϯτ؅ཧ ద੾ͳސ٬ʹɺద੾ͳϝοηʔδΛɺద੾ͳλΠϛϯάͰɺద੾ͳνϟωϧΛ௨ͯ͠ૹ͍ͬͯͩ͘͞ɻ ෼ੳ ސ٬ͱوࣾͷΤϯήʔδϝϯτʹؔ࿈ͨ͠σʔλΛू໿ɺՄࢹԽɺΧελϚΠζɻ ࢀর : https://aws.amazon.com/jp/pinpoint/

Slide 31

Slide 31 text

Amazon Pinpoint ͱ͸ Τϯήʔδϝϯτνϟωϧ EϝʔϧɺԻ੠ɺSMSɺϓογϡ௨஌ɺ֦ுػೳ(LINEͳͲ) Τϯήʔδϝϯτ؅ཧ ΩϟϯϖʔϯͷΑ͏ʹಛఆͷର৅ऀηάϝϯτʹૹ৴͢ΔͷͰ͸ͳ͘ɺಛఆͷड৴ऀʹૹ৴͢ΔΦϯσϚϯυϝο ηʔδΛૹΔ͜ͱ΋Մೳ ෼ੳ ސ٬σʔλͷऩूͱཧղɺ͓Αͼσʔλʹج͍ͮͨߦಈɺΤϯήʔδϝϯτͷऔΓ૊ΈͷύϑΥʔϚϯεʹର͠ ͯɺ͞·͟·ͳ෼ੳ͕Մೳ ࢀর : https://aws.amazon.com/jp/pinpoint/

Slide 32

Slide 32 text

Amazon Pinpoint ͱ͸ ࢀর : https://docs.aws.amazon.com/ja_jp/aws-mobile/latest/developerguide/mobile-hub-add-aws-mobile-analytics.html

Slide 33

Slide 33 text

Amazon Pinpoint Ͱemail/push௨஌ ͷϢʔεέʔε AWS Batch Amazon Simple Storage Service (S3) Amazon Pinpoint લॲཧ ηάϝϯτͷϢʔβʔΛ S3ʹΞοϓϩʔυ ࣌ؒࢦఆ or ଈ࣌഑৴

Slide 34

Slide 34 text

• json΍csvϑΝΠϧ͕͋Ε͹GUI͔Βૢ࡞͢Δ͜ͱ΋Մೳ • ࣌ؒࢦఆ or ଈ࣌഑৴͕Մೳ • 1ඵؒʹ0 ~ 25,000௨·Ͱ഑৴଎౓Λม͑Β͑Δ • ։෧཰΍Click཰Ҏ֎ͷ෼ੳΛ਺෼Ҏ಺Ͱ෼ੳͯ͘͠ΕΔ • ϑΝωϧ෼ੳ΋Ͱ͖Δ & Amazon Personalize Amazon Pinpointͷخ͍͠ϙΠϯτ ௚ײͰ৮ΕΔ ༧໿഑৴(batchॲཧ)΍ۓٸੑͷߴ͍഑৴(଎ใχϡʔεͳͲ) ΞΫηε਺ΛίϯτϩʔϩͰ͖Δ ͨͩૹΔ͚ͩ͡Όͳ͘ɺͦͷޙͷΞΫγϣϯʹ΋ͭͳ͛ΒΕΔ ͞·͟·ͳCVRௐ͕ࠪՄೳ ϑΝωϧ෼ੳ

Slide 35

Slide 35 text

Ͳ͏͍͏ߏ੒ਤʹ͠Α͏͔ʁʁ

Slide 36

Slide 36 text

Email or LINE Ͱ௨஌͍ͨ͠

Slide 37

Slide 37 text

LINE௨஌Λ͢Δʹ͸AWS LambdaΛ࢖༻ͨ͠ΧελϜνϟωϧͰͰ͖ΔΒ͍͠ ※ ࠓ(2019೥10݄ݱࡏ)͸ύϒϦοΫϕʔλ൛ͳͷͰ࢓༷มߋͷՄೳੑ͋Γ

Slide 38

Slide 38 text

Amazon Pinpoint͸౦ژϦʔδϣϯͰར༻Ͱ͖ͳ͍ ※ ࠓ(2019೥10݄ݱࡏ)

Slide 39

Slide 39 text

Amazon PinpointΛىಈͤ͞Δʹ͸Ͳ͏͠Α͏ σʔλ͸౦ژϦʔδϣϯʹ͋Δ

Slide 40

Slide 40 text

AWS Step FunctionsͰ؅ཧͰ͖Δʁ AWS Lambda͸ʁ

Slide 41

Slide 41 text

AWS Step Functions΍AWS Lambda͸ϦʔδϣϯؒΛͭͳ͛ΒΕͳ͍

Slide 42

Slide 42 text

ҟͳΔϦʔδϣϯͷAWS LambdaΛར༻͢Δํ๏͕͋Δ ࢀর : https://dev.classmethod.jp/cloud/trigger-lambda-on-other-regions/

Slide 43

Slide 43 text

• ϢʔβʔΞϓϦέʔγϣϯͷݺͼग़͠͸ɺPC/αʔόʔ্ͷAWS SDK·ͨ͸εϚʔτ ୺຤্ͷAWS Mobile SDKͰՄೳ • AWSͷ௨஌αʔϏεͰ͋ΔSNSͷ௨஌ઌͱͯ͠AWS LambdaΛࢦఆ͢Δ • S3 Cross-Region ReplicationͰAWS Lambdaؔ਺ͱಉ͡ϦʔδϣϯʹόέοτΛෳ੡ ͠ɺෳ੡όέοτʹAWS Lambda΁ͷΠϕϯτ௨஌Λઃఆ͢Δ ҟͳΔϦʔδϣϯͷAWS LambdaΛར༻͢Δํ๏ ࢀর : https://dev.classmethod.jp/cloud/trigger-lambda-on-other-regions/

Slide 44

Slide 44 text

• ϢʔβʔΞϓϦέʔγϣϯͷݺͼग़͠͸ɺPC/αʔόʔ্ͷAWS SDK·ͨ͸εϚʔτ ୺຤্ͷAWS Mobile SDKͰՄೳ • AWSͷ௨஌αʔϏεͰ͋ΔSNSͷ௨஌ઌͱͯ͠AWS LambdaΛࢦఆ͢Δ • S3 Cross-Region ReplicationͰAWS Lambdaؔ਺ͱಉ͡ϦʔδϣϯʹόέοτΛෳ੡ ͠ɺෳ੡όέοτʹAWS Lambda΁ͷΠϕϯτ௨஌Λઃఆ͢Δ ҟͳΔϦʔδϣϯͷAWS LambdaΛར༻͢Δํ๏͕͋Δ ࢀর : https://dev.classmethod.jp/cloud/trigger-lambda-on-other-regions/

Slide 45

Slide 45 text

ηάϝϯτ৘ใ͔Β഑৴·Ͱͷϑϩʔ͸AWS Step FunctionsͰ͍ͨ͠

Slide 46

Slide 46 text

Amazon Pinpoint ηάϝϯτΛΠϯϙʔτ͢Δʹ࣌ؒΛཁ͢Δ(௕࣌ؒͰ͸ͳ͍)

Slide 47

Slide 47 text

ΧελϜνϟωϧͰىಈ͞ΕͨAWS Lambda͸50໊෼Ͱ1Lambdaىಈ͢Δ

Slide 48

Slide 48 text

• σʔλϕʔε͕౦ژϦʔδϣϯͷͨΊLambdaܦ༝ͰPinpointΛىಈͰ͖ͳ͍ • ഑৴ͷϫʔΫϑϩʔΛStep FunctionsΛ༻͍Δ༧ఆ͕Ϧʔδϣϯؒ͸setͰ͖ͳ͍ • ηάϝϯτͨ͠δϣϒΛΠϯϙʔτ׬ྃʹ͕͔͔࣌ؒΔ • ࠷ޙͷLINE഑৴࣌Ͱ͸഑৴ਓ਺ / 50໊෼ͷLambda্ཱ͕͕ͪΔ • ଐੑͷίϯτϩʔϧ AWS LambdaͱࣗಈԽʹ൐͏՝୊ ΦϨΰϯͳͲಉϦʔδϣϯ಺Ͱ͋Ε͹ىಈՄೳ Pinpointͷϑϩʔ͚ͩStep FunctionsΛ༻͍ΔͳͲ Πϯϙʔτ׬ྃΛϙʔϦϯά͢Δඞཁ͕͋Δ ্ݶ؇࿨·ͨ͸ಉ࣌ʹ50,000ਓʹૹΒͳ͚Ε͹جຊ໰୊ͳ͍ ଐੑ͸40ݸ·ͰͳͷͰɺܭըతͳઃܭ͕ඞཁ

Slide 49

Slide 49 text

AWS Step Functions Amazon S3 AWS Lambda AWS Lambda Amazon DynamoDB AWS Lambda AWS Lambda AWS Lambda DONE import? ഑৴ ϑϩʔ Amazon Simple Notification Service Tokyo Region (ap-northeast-1) Oregon Region (us-west-2) AWS Batch

Slide 50

Slide 50 text

AWS Step Functions Amazon S3 AWS Lambda AWS Lambda Amazon DynamoDB AWS Lambda AWS Lambda AWS Lambda DONE import? ഑৴ ϑϩʔ Amazon Simple Notification Service Tokyo Region (ap-northeast-1) Oregon Region (us-west-2) AWS Batch ౦ژϦʔδϣϯ

Slide 51

Slide 51 text

AWS Step Functions Amazon S3 AWS Lambda AWS Lambda Amazon DynamoDB AWS Lambda AWS Lambda AWS Lambda DONE import? ഑৴ ϑϩʔ Amazon Simple Notification Service Tokyo Region (ap-northeast-1) Oregon Region (us-west-2) AWS Batch ΦϨΰϯϦʔδϣϯ

Slide 52

Slide 52 text

AWS Step Functions Amazon S3 AWS Lambda AWS Lambda Amazon DynamoDB AWS Lambda AWS Lambda AWS Lambda DONE import? ഑৴ ϑϩʔ Amazon Simple Notification Service Tokyo Region (ap-northeast-1) Oregon Region (us-west-2) AWS Batch Ϣʔβʔηάϝϯτͨ͠σʔλΛ S3ʹputͰSNSΛணՐ SNS͸Ϧʔδϣϯؒ͸ؔ܎ͳ͍ͷͰɺ Step Functions Λىಈͤ͞Δ Amazon PinpointΛ༻͍ͯ഑৴

Slide 53

Slide 53 text

AWS Step Functions Amazon DynamoDB AWS Lambda AWS Lambda AWS Lambda DONE import? ഑৴ AWS Step Functions Step Functionsͷελʔτ͸ DynamoDB͔Β഑৴͢Δ pinpointͷΞϓϦέʔγϣϯΛ औಘ͢Δ import͞ΕͨJSONσʔλΛ ݩʹηάϝϯτΛ࡞੒ ഑৴͢ΔνϟωϧλΠϓ͔Β ΧελϜνϟωϧ ඪ४Λऔಘ͢Δ importޙ͸݅਺͕ଟ͘ͳΔͱ importʹ͕͔͔࣌ؒΔ(਺࣌ؒ Ͱ͸ͳ͍ͳ͍) ͦͷͨΊɺimport͕׬͔ྃͨ͠ ఆظνΣοΫ͢Δඞཁ͋Γ ׬ྃޙΩϟϯϖʔϯͷੜ੒ ΧελϜͷ৔߹͸ ΧελϜνϟωϧͰ഑৴͢Δ LambdaΛىಈͤ͞Δ

Slide 54

Slide 54 text

AWS Step Functions Amazon DynamoDB AWS Lambda AWS Lambda AWS Lambda DONE import? ഑৴ AWS Step Functions Step Functionsͷελʔτ͸ DynamoDB͔Β഑৴͢Δ pinpointͷΞϓϦέʔγϣϯΛ औಘ͢Δ import͞ΕͨJSONσʔλΛ ݩʹηάϝϯτΛ࡞੒ ഑৴͢ΔνϟωϧλΠϓ͔Β ΧελϜνϟωϧ ඪ४Λऔಘ͢Δ importޙ͸݅਺͕ଟ͘ͳΔͱ importʹ͕͔͔࣌ؒΔ(਺࣌ؒ Ͱ͸ͳ͍ͳ͍) ͦͷͨΊɺimport͕׬͔ྃͨ͠ ఆظνΣοΫ͢Δඞཁ͋Γ ׬ྃޙΩϟϯϖʔϯͷੜ੒ ΧελϜͷ৔߹͸ ΧελϜνϟωϧͰ഑৴͢Δ LambdaΛىಈͤ͞Δ

Slide 55

Slide 55 text

AWS Lambda ഑৴ AWS Step Functions ׬ྃޙΩϟϯϖʔϯͷੜ੒ ΧελϜͷ৔߹͸ ΧελϜνϟωϧͰ഑৴͢Δ LambdaΛىಈͤ͞Δ import os import json import boto3 def lambda_handler(event, context): s3 = boto3.client(‘s3') # ϝοηʔδ಺༰ msg = event["Message"]["smsmessage"]["body"] arr = json.loads(msg) # ΤϯυϙΠϯτҰཡ endpoints = event["Endpoints"] for item in endpoints: # ΤϯυϙΠϯτ line_id = endpoints[item][‘Address'] # ഑৴΁

Slide 56

Slide 56 text

S3ͷߏ଄ߏ੒ json : ഑৴σʔλҰཡ email_format : ഑৴಺༰ ഑৴͢Δ্Ͱ؅ཧ͠΍͍͢ Α͏ʹઃఆ ͳͷͰɺձࣾํ਑Ͱ͓೚ͤ email: ϝʔϧ഑৴ line: LINE഑৴ email_line: ϝʔϧ & LINE഑৴ xxxxʹ͸ line: LINE഑৴ͷϑΥʔϚοτ html: ϝʔϧͷHTMLܕ txt: ϝʔϧςΩετܕ title: ϝʔϧλΠτϧ Amazon S3 s3:// BUCKET_NAME / format / ਌ΧςΰϦ / ϒϥϯυ໊ / ഑৴λΠϓ / ࢠΧςΰϦ_xxxx.txt s3:// BUCKET_NAME / json / ਌ΧςΰϦ / ϒϥϯυ໊ /഑৴λΠϓ / ࢠΧςΰϦ / yyyy-mm-dd.json json / format ਌ɾࢠΧςΰϦ ϒϥϯυ໊ ഑৴λΠϓ ࢠΧςΰϦʔ_xxxx.txt ηάϝϯτϑΝΠϧ໊ ഑৴ϑΝΠϧ໊

Slide 57

Slide 57 text

AWS Lambda LINE ഑৴ AWS Lambda { "text": { "text": "xxxxxx" } } ςΩετ ver. ը૾ ver. ΠϝʔδϚοϓ ver. { "image": { "original_content_url": "xxx", "preview_image_url": "yyy" } } { "imagemap":{ "alt_text": "ccccccccccccccccccccc", “base_url": "https://snaq.me", "h": xxx, "w": yyyy, "actions": [ { "uri_text": "https://snaq.me", "type": "uri", "x": 0, "y": 0, "w": aaaaa, "h": bbbbb }…….. ] } }

Slide 58

Slide 58 text

AWS Step Functions AWS Lambda AWS Lambda ΞϓϦέʔγϣϯ࡞੒ AWS Step Functions pinpointͷΞϓϦʔγϣϯ࡞੒ ࡞ΒΕͨΞϓϦέʔγϣϯΛ DynamoDBʹೖΕࠐΉ & ঢ়گnotificationͤ͞Δ ༗ޮޙͷঢ়گΛ Dynamoʹput & ঢ়گΛnotificationͤ͞Δ Amazon DynamoDB AWS Lambda AWS Lambda Amazon DynamoDB ΞϓϦέγϣʔϯͰ EMAILΛ༗ޮʹͤ͞Δ

Slide 59

Slide 59 text

௨஌ AWS Step Functions AWS Lambda AWS Lambda ΞϓϦέʔγϣϯ࡞੒ AWS Step Functions Amazon DynamoDB AWS Lambda AWS Lambda Amazon DynamoDB { “app_email": "[email protected]", "app_name": "xxxxxxxxxxx" }

Slide 60

Slide 60 text

͜ΕͰ࠷ॳͷϢʔβʔηάϝϯτͷ෦෼ΛೖΕସ͑Δ͚ͩͰࣗಈ഑৴͕Մೳʹ

Slide 61

Slide 61 text

Amazon PinpointͰቕͬͯ͠·ͬͨ͜ͱ

Slide 62

Slide 62 text

• ଐੑͷ্ݶΛ௒͑ͯ΋Τϥʔ͕ฦΒͳ͍ • ߏจϛε͸Τϥʔ͕ͩɺର৅߲໨ͷ্ݶจࣈ਺Λ௒͑ͯ΋Τϥʔ͸ฦΒͳ͍ • ଐੑ͕ର৅ϢʔβʔʹΑۭͬͯͷ৔߹ɺCSVͩͱ[]ͱͯ͠࢒Δ͕json͸ฏؾ Amazon PinpointΛቕͬͯ͠·ͬͨ͜ͱ ্ه2ͭ͸ΤϯυϙΠϯτʹର৅ऀ͕͍Δ͔֬ೝ͕ඞཁɻ1ͭͰ΋outͩͱશͯૹΕͳ͍ CSV؅ཧ͸ޙʑϚʔέ͕ѻ͍΍͍͕͢ɺjson͸૊ΈࠐΈ΍͍͢

Slide 63

Slide 63 text

Amazon Pinpointͷ੍ݶ (ओʹ஫ҙ͕ඞཁͳpoint) Ϧιʔε σϑΥϧτͷ੍ݶ ૿Ճͷର৅ AttributesɺMetricsɺUserAttributes ύϥϝʔ λʹ·ͱΊׂͯΓ౰ͯΒΕͨଐੑ ΞϓϦ͝ͱʹ 40 ͍͍͑ ଐੑ஋ͷ௕͞ 100 จࣈ ͍͍͑ ಉ͡Ϣʔβʔ ID Λ࣋ͭΤϯυϙΠϯτ Ϣʔβʔ ID ͝ͱʹ 10 ݸͷҰҙ ͷΤϯυϙΠϯτ ͍͍͑ ηάϝϯτͷ࡞੒ʹ࢖༻Ͱ͖ΔσΟϝϯγϣ ϯͷ࠷େ਺ ηάϝϯτ͝ͱʹ 100 ͍͍͑ ηάϝϯτ಺ʹಉҰͷΤϯυϙΠϯτ ॏෳ͸࡟আ͞ΕΔ ͍͍͑

Slide 64

Slide 64 text

·ͱΊ • Amazon PinpointͰ͞·͟·ͳνϟωϧ΁௨஌͕Մೳ • ΧελϜνϟωϧΛ༻͍Ε͹LINE഑৴΋Մೳ(β൛ͳͷͰมΘΔ͜ͱ΋) • ଐੑͷ্ݶ͔ΒΞϓϦέʔγϣϯͷ؅ཧํ๏Λߟ͑Δඞཁ͕͋Δ • Τϥʔ͡Όͳ͍͕ૹΕͯͳ͍͜ͱ͕͋ΔͷͰɺ֬ೝͷϑϩʔ͸ඞਢ • AWS Step Functionsʹ·ͱΊΔ͜ͱͰҰݩ؅ཧ • Ϧʔδϣϯؒ͸SNSαϒεΫϥΠϒΛ༻͍Δ͜ͱͰεϜʔζʹ

Slide 65

Slide 65 text

ࠓޙ͍ͨ͜͠ͱ • Amazon PersonalizeΛ༻͍ͯΑΓ֬౓ͷߴ͍௨஌Λ • ͓՛ࢠͷબఆͷڧԽ • OEMઌͷγεςϜ • ύςΟγΤ޲͚ͷ৽঎඼։ൃγεςϜ • ࣗಈൃૹ • ධՁΛ͠ͳͯ͘΋ࣗಈͰ޷͖ݏ͍Λ൑அͰ͖Δ࢓૊Έ ͳͲ

Slide 66

Slide 66 text

৽͍͓͠΍ͭମݧΛ૑଄͠ɺ ͓΍ͭͷ࣌ؒΛՁ஋ͷ͋Δ΋ͷʹ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ͝ڵຯ͋Δํ͸ snaq.me (εφοΫϛʔ) ΁