- 1. 【Lambda】pythonの外部モジュールをS3経由で取り入れてみた
- 2. Lambdaの非同期処理のリトライ設計値をまとめる(Streams/SQS編)
- 3. AWS DynamoDB を API Gateway で変更する
- 4. seleniumとheadless-chromiumを使ってaws上で情報送信botを作った話
- 5. [AWS API Gateway / AWS Lambda] API Gatewayのためだけに存在するopenapi.yamlの項目について
- 6. SORACOM LTE-M Button PlusとAWS Lambdaを組み合わせて「助けて!」ボタンを作る
- 7. AWS lambda layer で仮想環境を構築したった
- 8. Amazon API Gateway アクセスログ出力設定とアクセスログステータスコード監視設定
- 9. AWS lambda を使ってWebスクレイピングしたった
- 10. AWS Lambda を使ってFizzBuzzしたった
- 11. VPC内のLambdaからはSES向けのVPCエンドポイントを使用してもBoto3ではメールを送信できない
- 12. AWS Lambdaでpythonプログラムの定期実行
- 13. AWS Lambdaを使ってサーバレスアプリを作成(CRUDのR)
- 14. 共働き夫婦の月々の精算を自動化してみた
- 15. AWS Lambda Python3.8 から Slack へメッセージを送る設定を terraform で作成する
- 16. AWS の API Gateway (HTTP API) 経由で Lambda に繋いで POST データを処理するメモ
- 17. dataframeでの関数適用のサンプルです。
- 18. Python (Boto3) @ Lambda で CloudWatch Logs の特定のログストリームにログを出力する
- 19. 【AWS】S3 / LambdaでSSIっぽいことをやる
- 20. 【Serverless Framework 入門】 API Gateway + Lambda + DynamoDB サンプル
【Lambda】pythonの外部モジュールをS3経由で取り入れてみた
# 概要
lambdaを使ってdisny監視botを作る際にlambdaを使って定期実行したかったのでawsのlambdaを使うことにした。
この際に、line-sdk-botをlambdaに取り入れる必要があったのでその方法を記す。※lambdaを初めて触るため間違っているところがあったら指摘ください。
# ローカルの設定
まずはdocker-lambdaディレクトリを作成する。“`
mkdir docker-lambda
cd docker-lambda
“`ディレクトリの構造は以下。
docker-lambda
├── Dockerfile
├── deploy.sh
└── requirements.txtそれぞれのファイルは以下のように構成する。
Dockerfileは以下。
“`:Dockerfile
FROM lambci/lambda:build-python3.7
ENV AWS_DEFAULT_REGION ap-northeast-1ADD . .
CMD pip install -r requirements.txt -t p
Lambdaの非同期処理のリトライ設計値をまとめる(Streams/SQS編)
# はじめに
Lambdaの非同期処理の設定値と動作は複雑でわかりにくい。
しかも、DynamoDB Streams/Kinesis のストリーム系の非同期処理と、SQS といったイベント系の非同期処理では設定値が異なる。今回は、上記の非同期系処理を適切にリトライするための設計値をまとめる。
また、Terraformで設定する際のリソースと設定値も付記しておこう。ちなみに、今回書いた機能では、Lambdaのリトライや保持期間、DLQの設定は無視されるので注意が必要。
# ストリーム系非同期処理の設計値
ストリーム系非同期処理の設計値は、以下の項目が重要になる。|マネージメントコンソールの設定値|Terraformリソース|Terraformの設定値|デフォルト値|
|:–|:–|:–|:–|
|レコードの最長有効期間|aws_lambda_event_source_mapping|maximum_record_age_in_seconds|-1(無制限)|
|再試行|aws_lambda_event_source_mapping|maximum_retry_att
AWS DynamoDB を API Gateway で変更する
– 目的
– AWS Lambda の設定値を変更したい
– 背景
1. 社内向けのLambdaがあり「AWS LambdaのJsonを編集してください」が他の部署では敷居が高い。
1. config.jsonをS3に置いたりしたが、S3は直接プレビューできなかったり。
1. DynamoDBがコード的にも楽だった。
– 作業
– DynamoDB を使ってAPI Gateway→Lambda→DynamoDB で値を変更。
– 利点
– 完全サーバーレス!
– 補足
– 今回の記事はDynamoDBを変更するLambdaです。運用中のLambdaは別です。# 完成イメージ
– DynamoDB を Web で変更できます。
AWSlambdaapi-gatewayseleniumとheadless-chromiumを使ってaws上で情報送信botを作った話
基本的には、以下のページを元に作成していきました。
何点か躓いた場所があったので、その点だけ備忘録として残しておきます。> 毎朝5時にGoogle Formに自動回答したい
> https://qiita.com/kota-yata/items/9d4124ec7a7dd4e3d4f0> AWS Lambda(Python)でSelenium + Headless Chromeの実行
> https://masakimisawa.com/selenium_headless-chrome_python_on_lambda/## つまづいた点
### headless-chromiumのサイズオーバー
#### 詳細
layerへのuploadの上限が50MBであったが、最新バージョン(v1.0.0-57:2020/11/21時点)のサイズが50MB以上あり、lambdaのlayerへのupload上限である50MBを超えてしまっていた。#### 対応
一つ前のバージョン(v1.0.0-55)の方がサイズが小さく、45MBほどであったため、そちらを採用した。http
[AWS API Gateway / AWS Lambda] API Gatewayのためだけに存在するopenapi.yamlの項目について
# 概要
API Gatewayのステージ画面では、API仕様の定義をyamlファイルでエクスポートできるかと思います。
ここ↓の話です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/327407/5a86def4-f2f2-0c77-881d-31c1722f0cc3.png)
上記の通り、エクスポート方法には3種類ありますが、この記事では
– `OpenAPI 3 の形式でエクスポート`
– `OpenAPI 3 + API Gateway 拡張の形式でエクスポート`だけを見ていきます。
そして、赤枠で囲んでいるこの2つの方式の差分を解明することを目指します。# 願い
API Gatewayからエクスポートしたファイルを手元のPCで書き換えて、再インポートで望み通りの設定に変更できるようになりたい。
なんなら1から手元のPCでyamlを書いて、インポートだけで設定できるようになりたい。というより、AWSコンソール画面でぽちぽちしたくない。
できるだけ最初から
SORACOM LTE-M Button PlusとAWS Lambdaを組み合わせて「助けて!」ボタンを作る
# 経緯
最近リモートワークで自宅にいながら仕事していることが多いのですが,日々ストレスを貯めながら黙々と仕事をしていると,隣の部屋にいる家族が仮に死の危険に瀕していたとしても気が付かないなと思いたち,何か作ることにしました.
SORACOM LTE-M Buttonを利用して,ボタンを押した際に「助けて!」メールが届くシステムを作ります.
このメールに気が付かなかったら家族は死にます.ナースコールみたいなイメージ.
# システム構成
LTE-MボタンからAWS Lambdaを直接叩けるようになっていたのでこれを利用します.
Lambdaではメッセージの生成とメール送信を行います.## 使うもの
– SORACOM LTE-M Button Plus + SORACOM Func
– AWSのアカウント
– SMTPサーバ(というよりメールアカウント)SORACOM LTE-M Button Plusが手元にあったので利用したんですが,おそらくどのボタンでもいいと思います
# 作り方
## AWS Lambda側の関数構築
事前にSORACOM Funcが
AWS lambda layer で仮想環境を構築したった
# Background
Python3.6 以降で`venv`を使ってpipしたパッケージを保存していたのですが、AWS上で出来ないかと調べているとlayerという手頃な機能があったので使ってみた。# venv
作業PC上ではこれでOK
“`shell
python -m venv [仮想環境名]./[仮想環境名]/bin/activate
([仮想環境名]) pip install [パッケージ名]
“`# パッケージ用のzip作成
[AWS lambda を使ってWebスクレイピングしたった-Development (Webスクレイピング)](https://qiita.com/satsukiya/items/b9d02abd7fa96cd59355#development-web%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0)と同様にAWS上にuploadするためにzipファイルを作ります。“`shell
mkdir packages
cd packages
pip i
Amazon API Gateway アクセスログ出力設定とアクセスログステータスコード監視設定
個人的備忘録
# 1. 概要
* 設定内容
* **Amazon API Gateway のアクセスログを出力する設定**
* API名: hogehoge
* CloudWatch Logs ロググループ名: /aws/apigateway/hogehoge-accesslog
* **アクセスログのステータスコード監視設定 – 方法1**
* CloudWatch Logs メトリックフィルター + CloudWatch メトリックアラーム + Amazon SNS (AWS Chatbot) + Slack
* **アクセスログのステータスコード監視設定 – 方法2**
* Lambda + CloudWatch イベント (Amazon EventBridge) + Slack
* [参考] https://qiita.com/chii-08/items/e20651e7912596e9a556* 監視方法
* 方法1
* 監視間隔
* 1分おき
* 監視ワード
AWS lambda を使ってWebスクレイピングしたった
# Background
[AWS Lambda を使ってFizzBuzzしたった](https://qiita.com/satsukiya/items/f8fae1b4fccae0430985)の続き。
今回はスクレイピングで外部のWebページからデータを取得してみた。# AWS Architecture
![archtecture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/288206/92a0214d-37f3-2125-e1ed-f89bc196b532.png)– S3(データ保存)
– AWS Lambda(データ処理)
– Amazon EventBridge(定期実行)の3つのサービスを使っています。
# Setting
### S3
データ保存用のバケットを作成します。
AWS Lambda を使ってFizzBuzzしたった# Backgroud
AWS Lambdaを使ったサーバレスアプリケーションについての話を聞く機会が増えたので試しに作ってみた。# Preparetion
↓
↓
# Development (l
VPC内のLambdaからはSES向けのVPCエンドポイントを使用してもBoto3ではメールを送信できない
# 初めに
本記事はタイトルについて検証を行った詳細を記載します
書くきっかけですが、最近久しぶりにVPCと戯れることになりました。
VPCを使った構成ですんなり行った思い出はなく、実際に沼にハマりました。ポイントをまとめましたので、どなたかのお役にたてば嬉しいです
結論だけ知りたい方は最後まで飛ばしてください
# 検証を行うことになった背景
**VPC内のLambdaからメールを送る**
ただこちらを行いたいだけでしたアーキテクチャとしては以下となります
RDS→Lambda(VPC内)→SES→ユーザーあまり見ないアーキテクチャですね
RDS Proxyがリリースされてから、LambdaとRDSの組み合わせは使用する頻度が多くなりました
DynamoDBだけでは辛い部分もあるので、今後こちらのアーキテクチャは増えるようになるのではないでしょうか実装するに当たって、どのようにVPCから外へ出るか調べていました
すると、2020年5月に[SES向けのVPCエンドポイント](https://aws.amazon.com/jp/blogs/news/new-ama
AWS Lambdaでpythonプログラムの定期実行
#はじめに
AWSのlambdaを使用して、スケジュール実行のプログラムを設置しました。
lambdaの基本的なことで意外とつまったので残しておきます。
AWSのアカウントは作成しているものとしています。MAC OS X
python 3.6# 対象
・lambdaを触ったことのない方
・とりあえず何か動かして見たい方#lambdaとは
スクリプトを実行することが出来るサーバーレスのサービスです。
サーバレスと言ってもスクリプトの実行時にのみサーバを起動するイメージです。呼び出しはAWSの空いているサーバから行われるため、実行するサーバーは都度違います。
(固定IPを割り当てたサブネットにlambdaを設置して実行することでIPを固定にすることは出来ます)無料使用枠が月ごとに100万件の無料リクエストと1秒あたり40万GBのコンピューティング時間あるので、たいてい無料枠で動かせます。WebやIOTのバックエンドのAPIとしても使えるのでめちゃくちゃ便利なサービスですね。
#簡易的なスクリプト作成
pythonでLambdaのスクリプトを作成する場合、 **lamb
AWS Lambdaを使ってサーバレスアプリを作成(CRUDのR)
記事を閲覧いただき、ありがとうございます。[中村](https://twitter.com/AaTeltel)です!!
2020年10月にAWSエンジニアとして転職したので、AWSの予習も兼ねてLambdaを使ったアプリ作成について書いきます。### AWS Lambdaとは?
ここでつらつら説明するより[公式動画](https://youtu.be/Hr6ZIvXSZpw)の方がわかりやすいという結論に至りました。まずはご覧ください。