- 1. API GatewayとLambda(Python)でLINE BOT(Messaging API)開発 [前編]
- 2. AWS AmplifyでLambdaを使うwith Go
- 3. Serverless FrameworkとAWS Lambda with Rubyの環境にgemインストール
- 4. AWS LambdaがコンテナイメージをサポートしたのでPuppeteerしてみた
- 5. 個人的に気になる最近のサーバーレス事情(2021/01)
- 6. Jets触ってみた(ruby serverless)
- 7. `chromedriver’ executable may have wrong permissions. を解決する
- 8. ‘lambda_function’: No module named ‘selenium’ が出るとき
- 9. AmplifyをLambdaを使って動的に動かす
- 10. 【AWS Lambda】でseleniumを使ってスクレイピングをサーバーレスで行う~前編~
- 11. APIGWとlambdaでGoogleスマートホームアプリを作成してみた[前編]
- 12. docker-compose環境でRuby on Jetsの構築からデプロイまで
- 13. AWS MediaConvert と CloudFront 署名付きCookie で HLS+AES動画配信システムを作る
- 14. LambdaでCDKコマンドを実行する
- 15. lambdaでS3に格納されたcsvの絵文字を消してみた。
- 16. AWS SAMでAPIGatewayからLambdaをエイリアス指定で呼び出す
- 17. Go言語でAWS Lambdaの開発をサポートするパッケージを作った
- 18. VSCode、ローカルでLambda開発環境準備->デプロイ->AWSのURLで確認までの手順
- 19. AWSでよく使うSQS+Lambdaの組み合わせで気をつけるべきこと
- 20. AWS LambdaがContainer Image Support 言うから 疑似Cloud Run
API GatewayとLambda(Python)でLINE BOT(Messaging API)開発 [前編]
# API GatewayとLambda(Python)でLINE BOT(Messaging API)開発 [前編]
## はじめに
先日、以前より興味のあったLINE BOT(Messaging API)を初めて作ってみました。
思っていたより簡単だったので、今後も気軽に作ってけたらなと思ってます。
せっかく作れるようになったので、このフレッシュな気持ちがなくなる前に記事を書いておきます。前編と後編と、2つに分けて書こうと思います。
前編では主に環境構築。何か話しかけると「こんにちは!」とだけ返すBOTを作成します。
後編ではline-bot-sdkというライブラリを利用して、もう少しリッチなやり取りする実装について書こうと思ってます。## LINE Developpersでプロバイダーとチャンネルの作成
まずはLINE Developpersで作業します。
[LINE Developpers](https://developers.line.biz/ja/)にアカウントが必要ですが、登録手順については割愛。
[LINE Developpers の コンソール](http
AWS AmplifyでLambdaを使うwith Go
Amplifyはちょくちょく使う機会があるのですが、Amplifyを介したLambdaってほぼ使った事ないぞ、と思ったので使ってみようと思い立ちました。
そしてLambdaでGoが使えるけど、ちゃんと使った事なかった気がするので使ってみたいなとついでに。# Functionが使えるらしい
FUNCTIONS – Overview
https://docs.amplify.aws/cli/function## 環境
– win10 Home(surface go) + WSL2 + ubuntu18.04
– node v14.1.0
– npm 6.14.5
– go version go1.10.4 linux/amd64# 使ってみる
## 前置き
vueを使う設定にてamplifyをsetupしておきます。
詳しくはこのあたりから。
https://docs.amplify.aws/start/getting-started/installation/q/integration/vue“` bash
$ vue create myamplifyprojec
Serverless FrameworkとAWS Lambda with Rubyの環境にgemインストール
gemインストールが必要なAWS LambdaのRubyスクリプトをServerless Frameworkでデプロイする方法です。
# 手順概要
プラグインを入れれば簡単にできます。
1. `serverless plugin install -n serverless-ruby-layer`
2. `Gemfile` 作成
3. あとは普通にデプロイすると勝手にいろいろやってくれる# 手順詳細
## Serverless Frameworkのサービス作成
“`console
$ serverless create –template aws-ruby
Serverless: Generating boilerplate…
_______ __
| _ .—–.—-.–.–.—–.—-| .—–.—–.—–.
| |___| -__| _| | | -__| _| | -__|__ –|__ –|
|____ |___
AWS LambdaがコンテナイメージをサポートしたのでPuppeteerしてみた
あけましておめでとうございます。
AWS Lambdaがコンテナイメージをサポートしたので、Puppeteerでキャプチャを取るLambdaをつくてみました。
クラスメソッドさんの以下の記事の通りで、ローカルでの実行はうまくいきましたが、Lambdaへのデプロイするとうまく動作しませんでした。(Chromeの起動タイミングでエラー?)
Lambda コンテナイメージで Puppeteer を使ってみた | Developers.IO
https://dev.classmethod.jp/articles/try-using-puppeteer-with-a-lambda-container-image/試行錯誤の結果が、こちらとなります。
# ソース
全体はこちらにアップロード済みです。
https://github.com/moritalous/m5core2-yweather/tree/master/lambda## Dockerfile
クラスメソッドさんはGoogle Chromeとpuppeteer-coreの組み合わせでしたが、puppeteer単体で
個人的に気になる最近のサーバーレス事情(2021/01)
# 思い
EC2の管理~~なんて~~したくない。
個人開発の金銭的ハードルが高い。
バーストアクセスでダウン…?まじかよ。。。**サーバーレス** って素敵なワード… :star2:
# 気になったお話
それぞれわかりやすそうな記事を貼り付けていますが公式のものは各記事からリンクで飛んでください :pray:
– [Lambdaの実行時間の課金単位が1ミリ秒に短縮されました](https://dev.classmethod.jp/articles/lambda-billed-duration-1ms/)
– [RDS ProxyがGAされました!!](https://dev.classmethod.jp/articles/rds-proxy-ga/)
– [Lambda 関数が VPC 環境で改善されます](https://aws.amazon.com/jp/blogs/news/announcing-improved-vpc-networking-for-aws-lambda-functions/)
– [Lambdaのメモリ割り当てを自動で最適化!!AWS Lam
Jets触ってみた(ruby serverless)
# Jetsとは?
rubyをサーバーレスで動かせ、なおかつRailsライクにコードがかけるフレームワークです。
DBとしてRDBとDynamoDBの両方に対応されている。(今回はRDSと組み合わせました)
=> RDBはORマッパーとしてActiveRecordが採用されているので本当にRailsのようにかけました
https://rubyonjets.com/# 背景
Railsは使い慣れているけどEC2なりFargateなどの料金を地味に取られ続ける。。
=> 個人開発ではなるべく金額下げたいなぁというお気持ちServerless Frameworkを利用してlambda x rubyを試してみる
=> lambdaとRDSの相性が悪いがDynamoよくわからん…(個人開発としてはこれも頑張って勉強したい :muscle: )ちょっとした個人開発用にRailsをサーバーレスで動かせないかなぁ。。。。
そんな時に二つの記事に初めまして
[「Lambda-RDS」パターンももう怖くない!?フェイルオーバーももっと早くなるよ! RDS Proxyがプレビュー公開されまし
`chromedriver’ executable may have wrong permissions. を解決する
先日seleniumをlambdaで運用しよとしたときに遭遇しました。
permissionなんて設定したっけな?と思いましたどうやらosに対応していないバージョンを使用するとこのエラーが出てきてしまうようです。
### 解決法
lambdaのOSはLinuxなのでLinuxに対応したバージョンをインストールしてからレイヤーにアップロードする。
こちらに関してはLinux環境を用意する必要があるのでaws cloud9を使用すると簡単です。
[>>Lambdaでseleniumを使ってスクレイピング](https://qiita.com/ichihara-development/items/5e61c3424b3176bc6096)
‘lambda_function’: No module named ‘selenium’ が出るとき
## seleniumのPATHが間違っている
pythonの場合lambdaレイヤーは
・python
・python/lib/python3.x/site-packages配下を自動で読み込むため、アップロードしたseleniumzipファイルが上記のディレクトリ構造になっているかをもう一度確認してみてください。
## zipファイルを解凍していない
外部からダウンロードしてきたseleiumをzipのままで保存し、親ディレクトリごと圧縮してしまうとlambdaでseleniumを使用することができません。
![スクリーンショット (146).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536448/46f56de0-83cc-22f3-7ebf-ac8c815b696e.png)
一度解凍してから再びフォルダを圧縮しアップロードしなおすと上手くいきます。
AmplifyをLambdaを使って動的に動かす
# Amplifyが動的に動かせると思っていた
Amplifyでは以下のようにpythonファイルを指定しても呼べなかった。
– 修正前
“`html