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
serverless - send email and update status
Search
Anna Su
March 22, 2019
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
serverless - send email and update status
2019/3/22
@ branch8 公司內部技術分享
Anna Su
March 22, 2019
More Decks by Anna Su
See All by Anna Su
從 Styled System 看下一代 CSS 技術
annasu
2
2.3k
We need a better UI component library - Styled System
annasu
0
6.3k
What’s FullStory?
annasu
0
170
PWA 應用與價值
annasu
0
110
初探 DevOps 的世界
annasu
0
290
Why Redux-Observable?
annasu
0
76
PWA 與 Service Worker
annasu
0
85
2016 PIXNET HACKATHON Lightning talk - 做網站不是只有一個人的事
annasu
0
95
Other Decks in Technology
See All in Technology
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
110
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
210
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
1
150
MIRU 2026 チュートリアル
keisuke198619
0
800
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
8
7.6k
名古屋の市バスGTFS-JPデータ×スガキヤ 最寄りバス停検索をAmazon ElastiCache Serverless for Valkeyで最適化する
usanchuu
1
260
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
130
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.4k
データ組織の転換期 一足飛びしない段階的戦略
leveragestech
PRO
0
150
[MIRU26] To What Extent Does MLLM-as-a-Judge Exhibit Cross-Model Preference Bias?
keio_smilab
PRO
0
200
AI時代の強いチームの作り方
yuukiyo
23
15k
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
760
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Making the Leap to Tech Lead
cromwellryan
135
10k
The Spectacular Lies of Maps
axbom
PRO
1
890
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
600
Why Our Code Smells
bkeepers
PRO
340
58k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
How to Talk to Developers About Accessibility
jct
2
480
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Prompt Engineering for Job Search
mfonobong
0
390
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Transcript
Serverless Anna Su Send Email and update status
Why not VM 即使 server 沒有收到任何 request ,還是會被收取費⽤用 必須設定與持續管理理 Server
需要經常更更新 Server,避免安全性問題 當我們使⽤用量量變⼤大時,需要管理理 server 的 scaling up 如果使⽤用量量變低時,也需要 scaling down
Why Serverless ⾃自動擴展 依照使⽤用量量付費 開發速度更更快 零管理理
You don’t have to think about those servers. You just
focus on code.
What’s Serverless Serverless is an execution model where the cloud
provider is responsible for executing a piece of code by dynamically allocating the resources.
What’s Serverless The code is typically run inside stateless containers.
Can be triggered by a variety of events including http requests, database events, monitoring alerts, file uploads, scheduled events, etc
How Serverless Works @aws Upload your code to AWS Lambda
Set up your code to trigger from other AWS services, HTTP endpoints, or in-app activity Lambda runs your code only when triggered, using only the compute resources needed Pay just for the compute time you use
Install Serverless npm install -g serverless
Deploy a Node.js function to AWS Lambda
sls
sls create -t aws-nodejs
brew install awscli
aws configure
module.exports.hello = async (event) => { return { statusCode: 200,
body: JSON.stringify({ message: 'Go Serverless v1.0! Your function executed successfully!', input: event, }), }; }; handler.js
service: aws-nodejs-demo provider: name: aws runtime: nodejs8.10 functions: hello: handler:
handler.hello events: - http: path: / method: get serverless.yml
sls deploy
Serverless Project for Email
HASURA SendGrid AWS Lambda Using
HASURA build GraphQL apps backed by Postgres
HASURA Event trigger
SendGrid email service trusted by developers and marketers
AWS Lambda run code without thinking about servers
Send Email HASURA event trigger webhook Serverless AWS Lambda
Update Email Status notification webhook Serverless AWS Lambda
Email Flow HASURA Realtime Serverless Send email HASURA Event SendGrid
Event Notification SendGrid Serverless Update email
Send Email Flow HASURA Realtime Serverless Send email HASURA Event
SendGrid
Create HASURA Table
Creating an event-trigger to listen to a database change on
Postgres
Create Serverless (Send Email) const sgMail = require('@sendgrid/mail'); module.exports.run =
async event => { try { let { table: { name: table_name, schema }, event: { data: { new: { to, from, subject, content: html, id }, }, }, } = JSON.parse(event.body); sgMail.setApiKey(process.env.SENDGRID_API_KEY);
SendGrid Settings
AWS Lambda Settings
Update Email Status Flow HASURA Realtime Serverless Send email HASURA
Event SendGrid Event Notification SendGrid Serverless Update email
Create Serverless (Update Email) const axios = require('axios'); module.exports.run =
async event => { try { const body = JSON.parse(event.body); const { id, event: status, schema, table_name } = body[body.length - 1]; await axios({ method: 'post', headers: { 'x-hasura-admin-secret': process.env.HASURA_SECRET, }, url: process.env.HASURA_URL, data: { variables: {
AWS Lambda Settings
SendGrid Settings
provider: functions: sendEmailFromHasura: handler: sendEmailFromHasura.run events: - http: path: send-email-from-hasura
method: post updateHasuraEmailStatus: handler: updateHasuraEmailStatus.run events: - http: path: update-hasura-email-status method: post plugins: - serverless-plugin-monorepo serverless.yml
sls deploy
AWS Lambda function
Reference https://serverless.com/ https://aws.amazon.com/tw/lambda/ Develop a Serveerless Backend using Node.js on
AWS Lambda What is Serverless ? Serverless overview What is Serverless Architecture? https://www.flaticon.com
Thanks Anna Su