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
Golang on AWS
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
cupper
November 23, 2019
Programming
48
0
Share
Golang on AWS
cupper
November 23, 2019
More Decks by cupper
See All by cupper
kintoneでAWSリソースを管理する
cupperservice
0
110
History of HTTP
cupperservice
0
83
Let's get started with Scala
cupperservice
0
400
All in Scala
cupperservice
0
56
Recommendation_of_Gatling.pdf
cupperservice
2
560
What's scala.js?
cupperservice
0
57
How to work in local
cupperservice
0
63
Make a REST Server on Golang
cupperservice
0
95
Why do you use JavaScript
cupperservice
0
32
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
280
GitHub Copilot CLIのいいところ
htkym
2
1.1k
Inside Stream API
skrb
1
240
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
220
Swiftのレキシカルスコープ管理
kntkymt
0
200
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
130
デフォルト運用のCodeRabbit、1年で何が変わったか / How CodeRabbit Changed Our Code Review in 1 Year
bake0937
1
110
Oxlintのカスタムルールの現況
syumai
5
730
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1k
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
270
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.2k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
200
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
410
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
200
Fireside Chat
paigeccino
42
3.9k
How to make the Groovebox
asonas
2
2.2k
Why Our Code Smells
bkeepers
PRO
340
58k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
180
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Ruling the World: When Life Gets Gamed
codingconduct
0
240
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Discover your Explorer Soul
emna__ayadi
2
1.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Transcript
Golang on AWS #Shizuoka.go 2019.11.23 Kazuhisa Kawashima Renée French
アジェンダ • 自己紹介 • 今日やること • システム構成 • 開発環境 •
Demo • まとめ
自己紹介
自己紹介:川嶋一寿 • 2019年6月株式会社ゆめみに入社(3社目) • フルリモート勤務(静岡) • Golangの経験 勉強会用に簡単なREST APIを作ったことがある程 度
(発表資料) • 好きな言語 Scala, TypeScript (型 Love!) 参考:Shizuoka.jsでのLT資料 • Twitter : @cupperservice • E-mail :
[email protected]
今日やること
今日やること メッセージを受信し、受信したメッセージをストレージに 保管すると同時に、Slackのチャネルに通知するREST APIを作成する。 ストレージ Slack チェネル 処理 保管 通知
メッセージ受信
システム構成
システム構成 AWS Lambda Amazon API Gateway Amazon Simple Storage Service
Slack Golang
使用するサービス • Amazon API Gateway • AWS Lambda • Amazon
S3 (Amazon Simple Storage Service) • AWS CloudFormation • Slack(Web hook)
Amazon API Gateway REST or WebSocketのAPIを構築するサービス AWSまたは、他のサービスにアクセスするAPIを作成 することができる 参照 :
Amazon API Gatewayとは
AWS Lambda サーバを管理する必要なく、コードを実行できるサー ビス 利用者は、自身が作成したコードのみに責任を負う。 メモリ、CPU、ネットワーク等のリソースはAWSが管理 する 参照 : AWS
Lambdaとは
Amazon S3 インターネット用のストレージサービス スケーラブルで信頼性が高く高速で安価なストレージ を利用できる 参照 : Amazon S3とは
AWS CloudFormation AWSリソースをモデル化し、セットアップやプロビジョ ニングを行うサービス 参照 : AWS CloudFormationとは
Slack 説明省略
開発環境
今回使用する開発環境 • golang 1.13.4 • VSCode + Remote - Containers
• Docker, Docker compose • Centos 7 • AWS CLI • SAM(Serverless application model)
Demo
API仕様 • Endpoint : /hello/{name} • Query Parameters ◦ key
◦ value Example : /hello/gopher?key=price&value=1000
まとめ
Golang on AWSってどう? • Golang用のSDKが整備されている。 AWSのリソースにGolangから簡単にアクセスでき る! • SAMは便利 簡単にサーバレスアプリを作って、AWSに配備す
ることができる!
Github repository aws-go-example
Thank you for listening! Renée French