Soumettre la recherche
Mettre en ligne
SESとLambdaでメールをSlackに通知してみよう
•
Télécharger en tant que PPT, PDF
•
4 j'aime
•
6,456 vues
K
Ken'ichirou Kimura
Suivre
2016年3月21日にJAWS-UG福岡で発表した内容です。
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 27
Télécharger maintenant
Recommandé
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
虎の穴 開発室
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
KLab Inc. / Tech
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
Amazon Web Services Japan
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
Pacemaker 操作方法メモ
Pacemaker 操作方法メモ
Masayuki Ozawa
Recommandé
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
虎の穴 開発室
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
KLab Inc. / Tech
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
Amazon Web Services Japan
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
Pacemaker 操作方法メモ
Pacemaker 操作方法メモ
Masayuki Ozawa
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
Amazon Web Services Japan
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
老朽化したオンプレ環境をクラウドへ移設
老朽化したオンプレ環境をクラウドへ移設
修平 富田
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
Amazon Web Services Japan
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
yoku0825
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
Amazon Web Services Japan
DevAx::connect はじめました
DevAx::connect はじめました
政雄 金森
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
Takahiro YAMADA
ロードバランスへの長い道
ロードバランスへの長い道
Jun Kato
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
Amazon Web Services Japan
go generate 完全入門
go generate 完全入門
yaegashi
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
NTT DATA Technology & Innovation
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
Serverlessでサイト監視
Serverlessでサイト監視
shigeyuki azuchi
AWSで自作CGIをサーバレス実装してみた ~その2~
AWSで自作CGIをサーバレス実装してみた ~その2~
祐樹 夏目
Contenu connexe
Tendances
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
Amazon Web Services Japan
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
老朽化したオンプレ環境をクラウドへ移設
老朽化したオンプレ環境をクラウドへ移設
修平 富田
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
Amazon Web Services Japan
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
yoku0825
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
Amazon Web Services Japan
DevAx::connect はじめました
DevAx::connect はじめました
政雄 金森
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
Takahiro YAMADA
ロードバランスへの長い道
ロードバランスへの長い道
Jun Kato
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
Amazon Web Services Japan
go generate 完全入門
go generate 完全入門
yaegashi
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
NTT DATA Technology & Innovation
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
Tendances
(20)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
老朽化したオンプレ環境をクラウドへ移設
老朽化したオンプレ環境をクラウドへ移設
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
DevAx::connect はじめました
DevAx::connect はじめました
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
ロードバランスへの長い道
ロードバランスへの長い道
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
go generate 完全入門
go generate 完全入門
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
En vedette
Serverlessでサイト監視
Serverlessでサイト監視
shigeyuki azuchi
AWSで自作CGIをサーバレス実装してみた ~その2~
AWSで自作CGIをサーバレス実装してみた ~その2~
祐樹 夏目
Visual StudioでAWS開発してみよう
Visual StudioでAWS開発してみよう
Yutaka Fujisaki
AWS x MLB
AWS x MLB
Yuta Matsumura
Amazon SESのメール受信対応でサーバー減らせた話
Amazon SESのメール受信対応でサーバー減らせた話
civic Sasaki
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
civic Sasaki
Shell入門
Shell入門
nasa9084
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
Masayuki KaToH
エンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったこと
Hirata Tomoko
PHPという概念が存在しない退屈な世界 - AWS LambdaでWebAPP編
PHPという概念が存在しない退屈な世界 - AWS LambdaでWebAPP編
Yoshihiro Ohsuka
CTOが仕事に対する新しい考え方を教えてくれた話
CTOが仕事に対する新しい考え方を教えてくれた話
Yuki Maeto
Androidを中心に紐解くIoT
Androidを中心に紐解くIoT
Keisuke Nishitani
AWS User Group Singapore / Amazon Lex -- JAWSDAYS 2017
AWS User Group Singapore / Amazon Lex -- JAWSDAYS 2017
Alex Smith
TdX#01 RubyKaigiの作り方
TdX#01 RubyKaigiの作り方
masayoshi takahashi
Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録
Fumiya Sakai
エバを弄る会 LT
エバを弄る会 LT
安隆 沖
Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化
Akihiro Matsuura
20150425 JAWS-UG Okinawa
20150425 JAWS-UG Okinawa
Toshiyuki Konparu
Lambdaについて
Lambdaについて
Ara Jo
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
Hiraku Komuro
En vedette
(20)
Serverlessでサイト監視
Serverlessでサイト監視
AWSで自作CGIをサーバレス実装してみた ~その2~
AWSで自作CGIをサーバレス実装してみた ~その2~
Visual StudioでAWS開発してみよう
Visual StudioでAWS開発してみよう
AWS x MLB
AWS x MLB
Amazon SESのメール受信対応でサーバー減らせた話
Amazon SESのメール受信対応でサーバー減らせた話
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
Shell入門
Shell入門
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
エンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったこと
PHPという概念が存在しない退屈な世界 - AWS LambdaでWebAPP編
PHPという概念が存在しない退屈な世界 - AWS LambdaでWebAPP編
CTOが仕事に対する新しい考え方を教えてくれた話
CTOが仕事に対する新しい考え方を教えてくれた話
Androidを中心に紐解くIoT
Androidを中心に紐解くIoT
AWS User Group Singapore / Amazon Lex -- JAWSDAYS 2017
AWS User Group Singapore / Amazon Lex -- JAWSDAYS 2017
TdX#01 RubyKaigiの作り方
TdX#01 RubyKaigiの作り方
Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録
エバを弄る会 LT
エバを弄る会 LT
Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化
20150425 JAWS-UG Okinawa
20150425 JAWS-UG Okinawa
Lambdaについて
Lambdaについて
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
Similaire à SESとLambdaでメールをSlackに通知してみよう
Inside mobage platform
Inside mobage platform
Toru Yamaguchi
Enable Skype to favorite the messages
Enable Skype to favorite the messages
daipanchi
C++ lecture-0
C++ lecture-0
sunaemon
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
Takeuchi Yuichi
.NETの自作ツール公開手段
.NETの自作ツール公開手段
Pierre3 小林
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
Kiyoshi SATOH
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
"Hello World!" から始める Calc で LibreOffice Basic
"Hello World!" から始める Calc で LibreOffice Basic
78tch
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)
Masanori Machii
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
mitamex4u
文字コードの脆弱性はこの3年間でどの程度対策されたか?
文字コードの脆弱性はこの3年間でどの程度対策されたか?
Hiroshi Tokumaru
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
decode2016
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会
naka hide
AWS as MBaaS 〜APIキーとかの話〜
AWS as MBaaS 〜APIキーとかの話〜
Yuki Hirai
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
kitsugi
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Akira Inoue
BBBBB
BBBBB
arase_utagoe
1MB
1MB
arase_utagoe
Similaire à SESとLambdaでメールをSlackに通知してみよう
(20)
Inside mobage platform
Inside mobage platform
Enable Skype to favorite the messages
Enable Skype to favorite the messages
C++ lecture-0
C++ lecture-0
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
.NETの自作ツール公開手段
.NETの自作ツール公開手段
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
"Hello World!" から始める Calc で LibreOffice Basic
"Hello World!" から始める Calc で LibreOffice Basic
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
文字コードの脆弱性はこの3年間でどの程度対策されたか?
文字コードの脆弱性はこの3年間でどの程度対策されたか?
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会
AWS as MBaaS 〜APIキーとかの話〜
AWS as MBaaS 〜APIキーとかの話〜
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
BBBBB
BBBBB
1MB
1MB
Plus de Ken'ichirou Kimura
SORACOM UG紹介
SORACOM UG紹介
Ken'ichirou Kimura
SORACOM UGの運営メンバーになってみませんか?
SORACOM UGの運営メンバーになってみませんか?
Ken'ichirou Kimura
SORACOM LTE-M Buttonならびにシミュレータについて
SORACOM LTE-M Buttonならびにシミュレータについて
Ken'ichirou Kimura
SORACOM LTE-M Button for Enterpriseシミュレータについて
SORACOM LTE-M Button for Enterpriseシミュレータについて
Ken'ichirou Kimura
スマートフォンでもSORACOM Arc!
スマートフォンでもSORACOM Arc!
Ken'ichirou Kimura
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
Ken'ichirou Kimura
ひげボタンをAzure IoT Centralにつないでみる
ひげボタンをAzure IoT Centralにつないでみる
Ken'ichirou Kimura
Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介
Ken'ichirou Kimura
Cloudshell 20201229
Cloudshell 20201229
Ken'ichirou Kimura
AWS IoT Eventsで遊んでみた
AWS IoT Eventsで遊んでみた
Ken'ichirou Kimura
Soracomug 20200701
Soracomug 20200701
Ken'ichirou Kimura
AWSで画像認識をやってみる~DL3分クッキング~
AWSで画像認識をやってみる~DL3分クッキング~
Ken'ichirou Kimura
Fukuten 20200117 up
Fukuten 20200117 up
Ken'ichirou Kimura
Amazon Forecastで未来を予測しよう
Amazon Forecastで未来を予測しよう
Ken'ichirou Kimura
SORACOM-UG岡山 LT資料 2019-08-17
SORACOM-UG岡山 LT資料 2019-08-17
Ken'ichirou Kimura
Serverless meetuplt 201903_up
Serverless meetuplt 201903_up
Ken'ichirou Kimura
あのボタンで子育て支援!
あのボタンで子育て支援!
Ken'ichirou Kimura
LogicAppsでお天気ボットを作ろう
LogicAppsでお天気ボットを作ろう
Ken'ichirou Kimura
API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築
Ken'ichirou Kimura
Jawsug福岡 201606 up
Jawsug福岡 201606 up
Ken'ichirou Kimura
Plus de Ken'ichirou Kimura
(20)
SORACOM UG紹介
SORACOM UG紹介
SORACOM UGの運営メンバーになってみませんか?
SORACOM UGの運営メンバーになってみませんか?
SORACOM LTE-M Buttonならびにシミュレータについて
SORACOM LTE-M Buttonならびにシミュレータについて
SORACOM LTE-M Button for Enterpriseシミュレータについて
SORACOM LTE-M Button for Enterpriseシミュレータについて
スマートフォンでもSORACOM Arc!
スマートフォンでもSORACOM Arc!
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた
ひげボタンをAzure IoT Centralにつないでみる
ひげボタンをAzure IoT Centralにつないでみる
Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介
Cloudshell 20201229
Cloudshell 20201229
AWS IoT Eventsで遊んでみた
AWS IoT Eventsで遊んでみた
Soracomug 20200701
Soracomug 20200701
AWSで画像認識をやってみる~DL3分クッキング~
AWSで画像認識をやってみる~DL3分クッキング~
Fukuten 20200117 up
Fukuten 20200117 up
Amazon Forecastで未来を予測しよう
Amazon Forecastで未来を予測しよう
SORACOM-UG岡山 LT資料 2019-08-17
SORACOM-UG岡山 LT資料 2019-08-17
Serverless meetuplt 201903_up
Serverless meetuplt 201903_up
あのボタンで子育て支援!
あのボタンで子育て支援!
LogicAppsでお天気ボットを作ろう
LogicAppsでお天気ボットを作ろう
API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築
Jawsug福岡 201606 up
Jawsug福岡 201606 up
Dernier
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Dernier
(9)
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
SESとLambdaでメールをSlackに通知してみよう
1.
SES と Lambda
でメールを Slack に 通知してみよう 2016 年 3 月 21 日 木村健一郎
2.
名前:木村健一郎 所属:株式会社コム・アンド・コム お仕事:技術に関することはなんでも 好きな言語: perl 好きな DB
: PostgreSQL
3.
今日のお題: SES と
Lambda でメールを Slack に通知してみよう
4.
Slack 使ってますか? • チャットツールです •
WEB ブラウザ、 iOS/Android/Windows/Mac アプリで使えます • API あります • 詳しくは http://slack.com/ へ
5.
メール使ってますか? • なんだかんだで使わざるを得ない 重要なメールを携帯に飛ばすとかよくあるよね? • 監視システムからの通知もメールが基本 最近は
API 叩けたり、 slack プラグインがあることも • できれば通知系は slack にまとめたいよね?
6.
メールの内容を slack に飛ばそう! ぱっと思いつくレガシーなやり方 1.SMTP
サーバを作る。例えば postfix 。 2.受信するメールアドレスを作って、そこ宛のメールをコマン ドに渡す 3.コマンドにはメールが標準入力経由で渡されるので、頑張っ てパースして slack に飛ばす hoge: “ | /path/to/command” /etc/aliases にこんな感じで書く
7.
・・・超めんどくさい (´ ・
ω ・ `) ( 特にサーバのお守りなんてしたくない )
8.
やっぱ時代はサーバレスでしょ! ( `・
ω ・ ´) ( 言ってみたかった )
9.
構成 インターネット SES メール S3 S3 に保存 イベント通知 メール読み込み API 呼び出し
10.
1. S3 を設定する 受信したメールを保存する
S3 を設定します。 適当な名前でバケット作りましょう。 ( )S3※ オブジェクトは Lambda に渡すためにしか使わないから 、期限を設定して自動で消しましょう!
11.
{ "Version": "2008-10-17", "Statement": [ { "Sid":
"GiveSESPermissionToWriteEmail", "Effect": "Allow", "Principal": { "Service": [ "ses.amazonaws.com" ] }, "Action": [ "s3:PutObjectAcl", "s3:PutObject" ], "Resource": "arn:aws:s3:::BUCKET_NAME/*", "Condition": { "StringEquals": { "aws:Referer": "ACCOUNT_NO" } } } ] } Policy はこんな感じで。
12.
2. SES を設定する 受信するドメインを決めます。 自分で持ってるドメインでサブドメイン作るなり、新しいド メイン取るなりでまず準備しましょう。 手順 1.メールアドレスを登録する 2.ドメインの
verify をする (Route53 なら早いです ) 3.アクションを追加する S3 に保存するので、先ほどのバケット名を設定します
13.
今更ですが、なんで S3 ? なんで
S3 経由?アクションに Lambda ってあるやん? S3 使わないと、本文や添付ファイルが取れないから (多分理由は、 Lanbda 呼び出すときに渡すデータがでかいと嫌ってことかと思います)
14.
3. Lambda ファンクション書くぜ! 今回は
Python で書きます。理由は以下の通り。 1.メールを取り扱うライブラリが標準である 2.Slack 連携のライブラリがある 3.新しく使えるようになったから試してみたい 4.matetsu さんの記事を参考にしたから
15.
下準備 Python2.7 のインストールは適当に。 ワークディレクトリを作って、 slack
用のライブラリ をインストールします。 %mkdir ses-slack %cd ses-slack %pip install slackweb -t ./
16.
コード書くぜ(1) lambda_function.py というファイルで作ります。 utf-8 で書きます。 #
coding: utf-8 from __future__ import print_function import boto3 import json import ConfigParser import email from email.parser import FeedParser from email.header import decode_header import slackweb 出だしはこんな感じで。
17.
コード書くぜ(2) ハンドラーの前半。 S3 からメールを取得。 def
lambda_handler(event, context): try: record = event["Records"][0] bucket_region = record["awsRegion"] bucket_name = record["s3"]["bucket"]["name"] mail_object_key = record["s3"]["object"]["key"] s3 = boto3.client('s3', region_name=bucket_region) mail_object = s3.get_object(Bucket = bucket_name, Key = mail_object_key) mail_body = '' try: mail_body = mail_object["Body"].read().decode('utf-8') except: try: mail_body = mail_object["Body"].read().decode('iso-2022-jp') except: mail_body = mail_object["Body"].read() msg_object = email.message_from_string(mail_body)
18.
コード書くぜ(3) ハンドラーの中盤。本文、サブジェクト、送信元を取得します。 if msg_object.is_multipart(): body =
msg_object.get_payload()[0] else: body = msg_object try: body = body.get_payload(decode=True).decode(body.get_content_charset()) except: #iso-2022-jp なのに丸文字があるとき code = 'iso-2022-jp-2004' body = body.get_payload(decode=True).replace('033$B', '033$(Q').decode(code) (d_sub, sub_charset) = decode_header(msg_object['Subject'])[0] if sub_charset == None: subject = d_sub else: subject = d_sub.decode(sub_charset) (d_from, from_charset) = decode_header(msg_object['From'])[0] if from_charset == None: mfrom = d_from else: mfrom = d_from.decode(from_charset)
19.
コード書くぜ( 4 ) ハンドラーの後半。エラーハンドリングします。 except:
subject = u"Error!" body = u" メールを受信しましたが、エラーが発生しました。 " mfrom = u" 送信元不明 " どうしてもおかしな形式のメールというのはあるものでして・・・
20.
コード書くぜ( 5 ) ハンドラーの終盤。いよいよ
slack に流します。 inifile = ConfigParser.SafeConfigParser() inifile.read("./config.ini") attachments = [] attachment = { "fallback": u"From:%snSub:%s" % (mfrom,subject), "pretext": u“From:%snSub:%s" % (mfrom,subject), "color": "#aaaaaa", "text": body } attachments.append(attachment) slack = slackweb.Slack(url=inifile.get('slack', 'hook_url')) slack.notify(attachments=attachments, channel=inifile.get('slack', 'channel'), username=inifile.get('slack', 'username'), icon_emoji=inifile.get('slack', 'icon_emoji')) return "CONTINUE"
21.
コード書くぜ( 6 ) 設定ファイルを
config.ini という名前で準備します。 [slack] hook_url = https://hooks.slack.com/services/*** username = alert_bot channel = 流す先のチャンネル名 icon_emoji = :guardsman: hook_url は slack の設定から取得します。 Web ブラウザでアクセスし、設定の「 Apps & Custom Integrations 」→「 Incoming WebHooks 」です。
22.
アップロードするよ! zip でまとめます。 %zip -r
ses-s3-lambda-slack.zip config.ini lambda_function.py slackweb で、これを管理コンソールからアップします
23.
S3 のイベント設定するよ! 先ほどの S3
バケットに更新イベントを追加します。 Lambda の管理コンソールだけでなく、以下のように S3 の管理コンソール からも追加できます。
24.
先ほど設定したメールアドレスにメールを送ってみましょう。 動かないときは以下のようにちょっと修正してローカルで動かしてみる ( 引数にテ キストファイルとして保存したメールを渡す
) とデバッグしやすいです。 もしくは、 print すると CloudWatch のログに出力されるので print デバッグで。 import sys def lambda_handler(m): try: mail_object = email.message_from_string(m) …… return "CONTINUE" if __name__ == "__main__": if len(sys.argv)>1: raw=open(sys.argv[1]).read() else: print "no args" exit lambda_handler(raw) 5 .試験するよ!
25.
6 .応用するよ! ここまでできたら色々遊べますね。 •キーワードをハイライトしたり色を変える •本文に応じて通知するメールを取捨選択する •Slack から返信もできるようにしてみる •添付ファイルも見れるようにしてみる •Twilio
と連携して SMS も送ってみる 色々遊んでみましょう!
26.
7 .感想 • Lambda
超便利 (^o^) • SES はウィルスメールフィルタなどもあって便利 • この組み合わせ、スロッティングとか考えなくていいし楽 ちん • もっと楽にデバッグできない? • Perl on Lambda マダー? たぶん永久に来ない? (´ ・ ω ・ `) • Qiita にまとめてますのでコードはこちらを参考に http://goo.gl/2m0dqK
Télécharger maintenant