Enviar pesquisa
Carregar
AWS Lambda + Go
•
Transferir como PPTX, PDF
•
0 gostou
•
874 visualizações
K
Kentaro Kawano
Seguir
AWS LambdaでGoを使うに当たっての基本的なことの紹介
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 29
Baixar agora
Recomendados
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
真吾 吉田
俺のLambda
俺のLambda
Motokatsu Matsui
画像処理をAWS LambdaのPythonで!
画像処理をAWS LambdaのPythonで!
Tomotsune Murata
Tune Up AWS Lambda
Tune Up AWS Lambda
Keisuke Nishitani
AWS Lambda のご紹介 2015 JAWS沖縄
AWS Lambda のご紹介 2015 JAWS沖縄
Toshiaki Enami
lambda-lgtm
lambda-lgtm
Yoshiaki Yoshida
Serverless AWS構成でセキュアなSPAを目指す
Serverless AWS構成でセキュアなSPAを目指す
Masayuki Kato
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani
Recomendados
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
真吾 吉田
俺のLambda
俺のLambda
Motokatsu Matsui
画像処理をAWS LambdaのPythonで!
画像処理をAWS LambdaのPythonで!
Tomotsune Murata
Tune Up AWS Lambda
Tune Up AWS Lambda
Keisuke Nishitani
AWS Lambda のご紹介 2015 JAWS沖縄
AWS Lambda のご紹介 2015 JAWS沖縄
Toshiaki Enami
lambda-lgtm
lambda-lgtm
Yoshiaki Yoshida
Serverless AWS構成でセキュアなSPAを目指す
Serverless AWS構成でセキュアなSPAを目指す
Masayuki Kato
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
JOYZO
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
Masahiro NAKAYAMA
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
Jin k
サーバーレスの話
サーバーレスの話
真吾 吉田
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
都元ダイスケ Miyamoto
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
Shun Fukazawa
Introduction to AWS X-Ray
Introduction to AWS X-Ray
Keisuke Nishitani
What's new with Serverless
What's new with Serverless
Keisuke Nishitani
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
Hiroyuki Hiki
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
Kazuhiro Sasaki
サーバーレス・アーキテクチャ概要
サーバーレス・アーキテクチャ概要
真吾 吉田
AWSのサーバレス関連アップデートを10分で紹介します
AWSのサーバレス関連アップデートを10分で紹介します
Keisuke Nishitani
ヘッドレスCMSとサーバーレス
ヘッドレスCMSとサーバーレス
真吾 吉田
サーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPS
桂一 中山
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
Takehiro Suemitsu
速習 AWS Lambda
速習 AWS Lambda
Masayuki Uchida
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Daisuke Miyamoto
May the FaaS be with us!!
May the FaaS be with us!!
真吾 吉田
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
真吾 吉田
Mais conteúdo relacionado
Mais procurados
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
JOYZO
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
Masahiro NAKAYAMA
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
Jin k
サーバーレスの話
サーバーレスの話
真吾 吉田
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
都元ダイスケ Miyamoto
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
Shun Fukazawa
Introduction to AWS X-Ray
Introduction to AWS X-Ray
Keisuke Nishitani
What's new with Serverless
What's new with Serverless
Keisuke Nishitani
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
Hiroyuki Hiki
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
Kazuhiro Sasaki
サーバーレス・アーキテクチャ概要
サーバーレス・アーキテクチャ概要
真吾 吉田
AWSのサーバレス関連アップデートを10分で紹介します
AWSのサーバレス関連アップデートを10分で紹介します
Keisuke Nishitani
ヘッドレスCMSとサーバーレス
ヘッドレスCMSとサーバーレス
真吾 吉田
サーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPS
桂一 中山
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
Masayuki KaToH
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
Takehiro Suemitsu
速習 AWS Lambda
速習 AWS Lambda
Masayuki Uchida
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Daisuke Miyamoto
Mais procurados
(20)
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
サーバーレスの話
サーバーレスの話
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
20150908 ”時間の流れ” という無限リストを扱うAWS Lambda
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
Introduction to AWS X-Ray
Introduction to AWS X-Ray
What's new with Serverless
What's new with Serverless
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
サーバーレス・アーキテクチャ概要
サーバーレス・アーキテクチャ概要
AWSのサーバレス関連アップデートを10分で紹介します
AWSのサーバレス関連アップデートを10分で紹介します
ヘッドレスCMSとサーバーレス
ヘッドレスCMSとサーバーレス
サーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPS
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
AWSでAPI Gatewayから非同期でLambdaを起動してS3にファイルアップロードしようとしたらハマった話。
速習 AWS Lambda
速習 AWS Lambda
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Semelhante a AWS Lambda + Go
May the FaaS be with us!!
May the FaaS be with us!!
真吾 吉田
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
真吾 吉田
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
Insight Technology, Inc.
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
Hiraku Komuro
サーバーレスの今とこれから
サーバーレスの今とこれから
真吾 吉田
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
masahitojp
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
Amazon Web Services Japan
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
Kazumi IWANAGA
CloudFormation/SAMのススメ
CloudFormation/SAMのススメ
Eiji KOMINAMI
Aws lambda & amazon api gateway入門
Aws lambda & amazon api gateway入門
Yutaka Kajiwara
Serverless for VUI
Serverless for VUI
真吾 吉田
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
修一 高橋
re:invent2018 総ざらえ
re:invent2018 総ざらえ
真乙 九龍
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
真吾 吉田
Introducing C# in AWS Lambda
Introducing C# in AWS Lambda
Atsushi Fukui
JAWS-UG 愛媛 第6回勉強会(Lambda)
JAWS-UG 愛媛 第6回勉強会(Lambda)
Takahiro Kato
Serverless Revolution
Serverless Revolution
Keisuke Nishitani
aws mackerel twilio_handson_public
aws mackerel twilio_handson_public
Tomoaki Sakatoku
サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方
Yoichi Toyota
クラウドネイティブ化する未来
クラウドネイティブ化する未来
Keisuke Nishitani
Semelhante a AWS Lambda + Go
(20)
May the FaaS be with us!!
May the FaaS be with us!!
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
サーバーレスの今とこれから
サーバーレスの今とこれから
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
はじめての Bluemix でシングルサインオン ~ 雲間を越えて、つなげたい
CloudFormation/SAMのススメ
CloudFormation/SAMのススメ
Aws lambda & amazon api gateway入門
Aws lambda & amazon api gateway入門
Serverless for VUI
Serverless for VUI
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
re:invent2018 総ざらえ
re:invent2018 総ざらえ
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
Introducing C# in AWS Lambda
Introducing C# in AWS Lambda
JAWS-UG 愛媛 第6回勉強会(Lambda)
JAWS-UG 愛媛 第6回勉強会(Lambda)
Serverless Revolution
Serverless Revolution
aws mackerel twilio_handson_public
aws mackerel twilio_handson_public
サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方
クラウドネイティブ化する未来
クラウドネイティブ化する未来
Último
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Último
(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
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
AWS Lambda + Go
1.
AWS Lambda +
Go 2017/06/16 シナジーマーケティング(株) 河野健太朗
2.
自己紹介 • 河野 健太朗 •
シナジーマーケティング(株) プロダクト開発部 所属 • Synergy! のマルチチャネル対応が主業務 • アプリプッシュ基盤構築 • Goで構築 → 軽量化したい • LINE メッセージング基盤構築 • callback部分をGoで
3.
AWS Lambda おさらい
4.
AWS Lambda とは •
Function as a Service • AWSのサービス上のイベントに対応 • 例) S3に画像がアップロードされたとき、リサイ ズする • Node.js、Java、C#、Pythonがサポートされている • Lambda Function という単位で管理
5.
Lambda Functionの例(Node.js) exports.handler =
(event, context, callback) => { // Do Something callback(null, 'Hello from Lambda'); }; // event: イベント情報 // context: ランタイム情報 // callback: 呼び出し元に情報を返すための関数
6.
サポートされていないのに なんでGoでやるの?
7.
なんでGo? • 標準の言語と比較して、遜色ないパフォーマンス • 社内のライブラリが使用できる •
慣れ • コスト
8.
GoでできることはGoでやりたい!!!
9.
どうやってGoを使うか
10.
Apexを使用する
11.
Apex とは • Lambda
Functionを管理するツール • 公式以外の言語もサポート • Functionの実装に使えるライブラリも提供 • 実装、ビルド、デプロイを一貫して行える • Node.jsのhandler + Goのバイナリを同梱してデプロイ
12.
AWS Lambda 実行の仕組み(Apex+Go) 1.
イベント発生 2. Lambda Functionをコンテナ上で起動 3. 規定のhandlerを呼び出す(Node.js) 4. Node.jsからspawnでmainを実行 • apexのhandlerを実行
13.
Apex 基本コマンド # プロジェクト初期化(IAM
role, policyの作成) $ apex init # ビルドのみ $ apex build > hello.zip # ビルド、デプロイを実行 $ apex deploy # functionのリスト(AWS上の情報も確認できる) $ apex list
14.
Apex ファイル構成 . ├── functions │
├── bot # ディレクトリ単位で管理 │ ├── function.json # functionごとの設定 │ └── main.go ├── .apexignore # 無視するファイルの設定 └── project.json # プロジェクト全体の設定
15.
project.json { "name": "line-kensho", "description": "lineの検証用", "memory":
128, "timeout": 5, "role": "arn:aws:iam::...", "environment": {}, "runtime": "golang" }
16.
function.json { "environment": { "CHANNEL_SECRET": ”...", "CHANNEL_TOKEN":
”..." } } function.jsonの方が優先される
17.
.apexignore • gitignoreと同じ書式 • ビルドの際にzipの対象にしない •
*.go でソースコードを除外
18.
Lambda Function の例(Apex+Go) import
"github.com/apex/go-apex" func main() { apex.HandleFunc( func(e json.RawMessage, c *apex.Context) (interface{}, error) { return "Hello from Lambda", nil }) } // json.RawMessage: イベント情報 // apex.Context: ランタイム情報 // return値: 呼び出し元に返す情報
19.
注意点
20.
注意点 • 標準出力の内容はFunctionの結果として扱う • ログは標準エラー出力に •
残りの稼働可能時間が取得できない • environment はマネジメントコンソールで丸見え • 認証情報はきちんと管理しないと…(検討中)
21.
AWS API Gatewayとの連携
22.
API Gatewayとの連携 • API
GatewayでAPIを作成 • リソース、メソッドを定義 • integrationにLambda Functionを指定 • Proxyリソースとして連携する • リクエストの情報がJSONで渡ってくる
23.
API Gatewayと連携後の実装 type Request
struct { Body string `json:"body"` Headers map[string]string `json:"headers"` HTTPMethod string `json:"httpMethod"` Path string `json:"path"` PathParameters map[string]string `json:"pathParameters"` QueryStringParameters map[string]string `json:"queryStringParameters”` // ...他いろいろ... } func main() { apex.HandleFunc( func(e json.RawMessage, c *apex.Context) (interface{}, error) { // ここでリクエストの情報を json.Unmarshalなどする必要がある => ツライ }) }
24.
github.com/fujiwara/ridge
25.
ridge とは • Apexをラップ •
net/http.Request, net/http.ResponsWriterが使える • logパッケージが使える
26.
ridgeでの実装 import "github.com/fujiwara/ridge" func main()
{ var mux = http.NewServeMux() mux.HandleFunc("/", handleRoot) ridge.Run(":8080", "/api", mux) } func handleHello(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/plain") fmt.Fprintf(w, "Hello %sn", r.FormValue("name")) } // いつもどおりの実装でらくちん
27.
ridgeでの注意点 • ridge.Run のprefixはAWS上では無効 •
handlerを渡すときにStripする // ridge.Run(":8080", ”/callback", handler) stripped := http.StripPrefix("/callback", handler) ridge.Run(":8080", "", stripped)
28.
まとめ
29.
まとめ • AWS LambdaでもGoは使える •
Apexを使う • API Gatewayと連携するならridgeを使う
Baixar agora