- 1. Apexのランクポイントの増減計算をするLINEBotを作った話
- 2. 【Lambda】【Python】import requestsで Unable to import module エラーが発生したとき解決方法
- 3. AWS DevOps – AWS Chalice を使ってサーバレスアプリケーションを開発しよう
- 4. LINEで画像を集めて、素敵なモザイクアートを作ろう
- 5. AWS IoT1-Clickで家族へ「帰ります」通知を送信できるようにしてみました
- 6. Serverless FrameworkでデプロイしたLambdaでスクレイピングする。
- 7. AWS SAMでアプリケーションをローカルテスト&デプロイ
- 8. 【AWS初学者向け】翻訳WEB APIを作成してみた(ハンズオン)
- 9. AWSLambda(Golang)×DynamoDBのローカル開発環境を整える
- 10. RDS自動起動停止をlambdaで
- 11. TerraformでLambda(Golang)のCICDをGitHub Actionsで構築
- 12. Lambdaレイヤーにnode_modulesを登録してみた
- 13. AWSの料金を毎日Slackに通知する
- 14. ヘキサゴナルアーキテクチャを使ってドメインモデルをAWS Lambdaファンクションで実装してみた
- 15. AWS SAMのDynamoDB Local接続のお試し(golang)
- 16. Lambdaのデプロイ方法を調べた
- 17. AWS Lambdaを利用したLINEbotハンズオン〜S3に写真保存〜
- 18. CircleCIを使ってコンテナイメージをAWS LambdaへデプロイするCI/CD環境を構築してみた
- 19. AWS Lambdaからsuds-py3を使ってSOAP API連携をしてみた
- 20. LambdaでWindows インスタンスの Nitro 世代移行を自動スケジューリング化してみた
Apexのランクポイントの増減計算をするLINEBotを作った話
この記事は[TDU CPSLab Advent Calendar 2021 – Adventar](https://adventar.org/calendars/6489)の2日目の記事です
https://adventar.org/calendars/6489
前の記事は[こちら](https://qiita.com/narusei/items/77e03ac2393e5792a071)から、次の記事はこちらから。
## はじめに
1回ダイヤ上がれたけど、それからずっとプラチナ3くらいまでしか上げられなくて、
最近CoDの方に移動しようか悩んでいるなるせいです。突然ですが、Apex Legendsやってますか?
日本だとかなり大人気だなって印象を受けます。好きな配信者さんなどおりますでしょうか?
その方のランク配信とかで隅っこの方に、
「ランクポイントの増減カウンター」みたいなのありませんかね。今回はそれを対話式に実現するLINEBotを作ってみたので、そのお話をします。
例の如く、車輪の再発明しているかもしれませんが、
何となく作ってみた記事となります。ご容赦
【Lambda】【Python】import requestsで Unable to import module エラーが発生したとき解決方法
pip install requests -t .
→ ERROR: Can not combine ‘–user’ and ‘–target’エラーが出たので取り急ぎターゲットディレクトリを指定せずにインストールしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2203079/51d1c769-b583-4c3e-a653-e86def673995.png)pip install request だけのコマンドだったらいけました。
ただし、どこに保存されているのかな?pip install requests コマンドでインストールしたパッケージがどこにあるか確認するためには ↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2203079/1d946ac5-f94a-908d-f3de-e7b47f252e0e.png)
AWS DevOps – AWS Chalice を使ってサーバレスアプリケーションを開発しよう
# はじめに
みなさん、こんにちは。今回は「AWS Chalice」を活用したサーバレスアプリケーション開発についてのお話です。AWS Summit Online Japan 2021 の日立製作所の講演で軽く触れたこともあり、どこかで紹介したいと思っておりました。
さて、AWS Chalice は多くの方にとってあまり馴染みのないツールだと思いますが、実際に使ってみるととても手軽に Amazon API Gateway と AWS Lambda を使用するサーバレスアプリケーションを作成してデプロイすることができます。もちろん、どんなツールにも得手不得手はあるので「すべてのプロジェクトで AWS Chalice の活用が最適か?」と言われればもちろん「No!」なのですが、ちょっと試しに動く Web API をサッと手軽に作りたい、といったケースにはとても良いソリューションだと思います。
今回は AWS CloudShell 上に開発環境を作るところからはじめて、簡素なサンプルを用いた一連の開発の流れ、テスト自動化を組み込んだシンプルな CI/CD パイプラインの構築まで紹介して
LINEで画像を集めて、素敵なモザイクアートを作ろう
## はじめに
まもなく年末が近づいてきました。
今年の思い出にモザイクアートなどを作ったら盛り上がるんじゃないかといった提案です。
クリスマスパーティーとか年賀状とか、いろんなところで友達や家族、クラスで集めた画像を一つにまとめて、みんなでいい思い出を作れると楽しいですよね。## 以前挑戦して大成功した
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488939/cc928a92-0e1b-20b8-6a4d-3e5ef02de32e.png)こちらは今年の頭に、高校の卒業記念に卒業生みんなで作ったモザイクアートです。
8700枚ぐらいの画像を使って作ったのですが、すごくいいものが出来上がってみんな喜んでくれました。メインになっている画像は、母校の校舎です。## 今回の特徴
高校の公式イベントとして行ったため、いくつかの制約がありました。
– みんなが簡単にかつ大量に提出できること
– 集めた画像は学校が管理するサーバーなどで管理すること
– モザイクアートにする前に、
AWS IoT1-Clickで家族へ「帰ります」通知を送信できるようにしてみました
# はじめに
先日、AWSを使ってインフラの構築作業を行ったのですが、AWSにとても興味を持てたので、実際に生活で使えそうな何かを作成しようと思い、色々と考えてみました。
私の友人に**「Lambda王」**というあだ名の人がおり、私はlambdaを触ったことがなかったので、どんな感じで使えるのかを確かめようと思い、今回はLambdaを取り入れることにしました。
私はいつも仕事から帰る時に奥さんに「今から帰ります」と通知をしているので、これを簡単に実行してくれるものを作ってみました。Lambda関数を実行するトリガーとして「AWS iot-1-click」で関数が実行される仕組みにしています。
すでに、色々な情報が溢れており、今さら感が否めませんが、自分の勉強も兼ねてやってみました。# システム構成図
システム構成は以下の通りです![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/938100/d6b97586-0fba-cea0-15be-e9b66593e1aa.png)
**l
Serverless FrameworkでデプロイしたLambdaでスクレイピングする。
## 目的
こちらの記事は、以下の記事の第1, 2回目となります。https://qiita.com/ShiroUz/items/56e230d286d09d275d32
Lambdaを使用して、スクレイピングします。
また、Lambda Layerを使用して、Pythonで使用するパッケージを読み込ませます。インポートするパッケージをLambda Layerから読み込んでハンドラーと切り分けることで、デプロイするLambdaの容量を減らし、大規模なLambda関数を作成可能にするとともに、デプロイするまでの時間を短縮させます。## 環境
“`
$ sw_vers
ProductName: macOS
ProductVersion: 11.6
BuildVersion: 20G165$ sls -v
Framework Core: 2.65.0
Plugin: 5.5.1
SDK: 4.3.0
Components: 3.17.2$ npm -v
8.1.0$ docker -v
Docker version 20.10.8, build 3967
AWS SAMでアプリケーションをローカルテスト&デプロイ
#はじめに
[こちらの記事](https://qiita.com/Geeryo/items/f05af3d72a808160a007)で作成した環境をテンプレート化したい!と思ったので、
AWS SAMを使ってみました。
SAMはリソースをプロビジョニングできるだけでなく、ローカルでLambda、API Gatewayをテストできる便利ツールだったのでその使い方も紹介します。
途中、cloudformationコマンドとの比較もしていますのでご参考までに。#環境
* mac OS:Monterey 12.0.1
* AWS CLI:2.2.33
* SAM CLI:1.35.0#SAMとは
* AWS Serverless Application Modelの略
* サーバーレスアプリケーション構築用のオープンソースフレームワーク
* YAML,JSON形式でテンプレート記述
* CloudFormationの拡張機能で、簡単にテンプレートを記述することが可能
* SAM CLIあり#SAM CLIのインストール
こちらからどうぞhttps://docs.aws.am
【AWS初学者向け】翻訳WEB APIを作成してみた(ハンズオン)
#はじめに
AWSハンズオン資料集の中から「サーバーレスアーキテクチャで翻訳 Web API を構築する」を試してみて結構楽しかったので1. **AWS初学者向けに構築フロー**
2. **つまずきポイント**
3. **個人的に修正してみた箇所**の3点を共有します。
https://pages.awscloud.com/event_JAPAN_Hands-on-for-Beginners-Serverless-2019_LP.html?trk=aws_introduction_page
上記、URLからAWS初学者の方はぜひトライしてみてください。
#参考ドキュメント
https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-integration-settings-integration-response.html
#構成
AWSLambda(Golang)×DynamoDBのローカル開発環境を整える
# 目的
AWS LambdaでバックエンドAPIを構築しているとき、関数の挙動を確認したいときは都度devにデプロイしていました。流石にローカルでの開発環境を整えたいと思ったのですがGoでの使い方の情報が少なかったので個人メモとしてまとめてみました。
今回はAPI GatewayがトリガーのLambda関数になります。
APIトリガー以外は
→[`serverless invoke local -f` で十分らしいです](https://blog.70-10.net/2018/08/29/serverless-typescript/#4-code-classlanguage-textserverless-offlinecode%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B) # 全体の流れ
以下のJavascript filesのところを今回はGolangにしてやってみます
RDS自動起動停止をlambdaで
#はじめに
RDSの料金を節約するために夜中に停止して朝起動するジョブを作ります。
#RDSの作成
RDS上でテスト対象となるDBを作成します。“`json:DBの情報
“DB識別子”: “postgres-db”
“`#lambdaの作成
event変数でAction(Start/Stop)と対象のInstanceを取得して、対象DBのステータスを取得したあと起動/停止を行います。“`python:/lambda_function.py
import boto3
region = ‘ap-northeast-1’def lambda_handler(event, context):
rds = boto3.client(‘rds’, region_name=region)
action = event[“Action”]
db_instance = event[“Instance”]response = rds.describe_db_instances(DBInstanceIdentifier=db_instan
TerraformでLambda(Golang)のCICDをGitHub Actionsで構築
## 以下の記事を参照して頂ければと思います
https://note.com/shift_tech/n/n9bdb5e803c0a?magazine_key=m21a220fb0f1e
**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です**
## 補足
ソースコード全体は以下を参照。https://github.com/yuta-katayama-23/Go/tree/terraform
Lambdaレイヤーにnode_modulesを登録してみた
Node.jsのプログラムをLambdaにアップロードするときに、node_modulesの容量が大きすぎてエラーになることがあります。
それを回避するために、公式側でLambdaレイヤーにnode_modulesを登録することができるようになっているので、今回はその方法を紹介します。# 前提
– Node.jsをインストール済み
– `npm install`の実行など、Node.jsに関する基礎知識がある
– Lambdaに関する基礎知識がある# 手順
公式ドキュメントの
[Lambda レイヤーの作成と共有](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-layers.html)
を参考に進めていきます。## 1. nodejsフォルダを作成する
「ただフォルダを作成するだけ」
ではありますが、1点注意点があります。
フォルダ名は必ず「nodejs」で作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amaz
AWSの料金を毎日Slackに通知する
クラウド破産が起きないようにAWSの料金を毎日通知するやつを作りたかったのですが忙しくて…
重い腰を上げてやっとです。LINEに通知してもでもいいのですが手軽なのでSlackで行きます。
Slackシリーズ結構やってきましたので他の記事も参考にhttps://qiita.com/ymktmk_tt/items/ef90884d94190f7ae951
https://qiita.com/ymktmk_tt/items/54920620e1e99389f36c
https://qiita.com/ymktmk_tt/items/06824d7d325e102b0e2e
## 今回のアーキテクチャ
![aws-slack (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295942/c1d4ad46-28b1-702f-ee36-325b1f08b0ef.png)
## Lambdaを作成
今回動かすコードを貼り付けましょう
“`python
import datetim
ヘキサゴナルアーキテクチャを使ってドメインモデルをAWS Lambdaファンクションで実装してみた
## はじめに
2021年11月20日から21日にかけて、[JAWS Pankration 2021 ~Up till Down~](https://jawspankration2021.jaws-ug.jp/)が開催されました。筆者はその中で DDD on AWS Lambdaというタイトルのセッションを担当しました。このセッションでは、ヘキサゴナルアーキテクチャを利用してドメインモデルをAWS Lambdaファンクションに実装する方法、また制御の反転(IoC)を利用してユニットテストを容易にする方法について紹介しました。
## この記事を書いたのは
今回、JAWS Pankrationは新たな試みとして、広く海外のコミュニティーメンバーにも参加してもらうために、全てのスライドを英語で記述しポケトークを利用して逐次通訳しながらセッションを行いました。海外のコミュニティーメンバーにも見てもらいたかったので、このために実装したサンプルアプリケーションのリポジトリの[README.md](https://github.com/afukui/jaws-pankration-ddd-lam
AWS SAMのDynamoDB Local接続のお試し(golang)
#はじめに
最近AWSのサービスを利用してシステム構築することに・・・
lambdaをメインにしたwebapiの開発をローカルで試した結果をまとめていきます。
本記事はローカルでAWS SAMを利用して、dynamodbとの連携までやります。
次の記事ではデプロイ周りをやります。#利用していきます!
##今回使用するツールなどのバージョン
– Windows 10 Pro:21H1
– WSL2:Ubuntu 20.04 LTS
– vscode:1.61.2
– Docker:20.10.9
– Go: 1.17.3##AWS SAM CLI のインストール
Homebrewを利用してAWS SAM CLIをインストールします。
AWSの公式サイトに[AWS SAM CLI のインストール](https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)の手順がありますので、そちらを参考に。
※git、
Lambdaのデプロイ方法を調べた
## Lambdaの基本
AWS Lambdaは、AWSの計算リソースの一つであり、あらかじめ設定したトリガーが発火した時のみ実行される関数を構築することができる。このような仕組みは、サーバレスアーキテクチャと呼ばれる。
**特徴**
– 必要な時だけ起動する。
– 実行した時のみ課金される。
![スクリーンショット 2021-11-21 2.09.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324326/8603d792-606b-2d90-7606-b8601ed9487f.png)
コンソール上で関数の編集、テストが実行できる。
## デプロイ方式
Lambda関数をデプロイする方法には、以下の3通りがある。
1. コンソール上で直接コードを編集し、デプロイする。
– ⭕️ デプロイした状態でのテストが簡単にできる。
– ❌ 大規模なアプリは開発しづらい。
– ❌ gitなどでコードを管理することができない。
– ❌ 依存パッケージなどが
AWS Lambdaを利用したLINEbotハンズオン〜S3に写真保存〜
# はじめに
今回はLINE APIを利用した「S3に写真保存」botの作成をしていきます。動きとしてはLINEのMessaging APIを利用して写真を送信します、写真をきっかけとしてAWS API GatewayがLambdaを起動させて、Lambdaに記述されているコードの動作(S3に写真を保存して保存された場合返信する)を行います
## 制作意図
9月に結婚式を挙げた友人用に考えた構築のハンズオンです(一部異なる点ありますが、ほぼほぼ)。
結婚式当日に参加した人がQRコードからLINEのお友達登録をしてもらうことで、当日撮影した写真を枚数・保存期間を気にせずS3に投げ込み、別途構築した2人のオリジナルHPから投げ込んだ写真を全員が閲覧できることを考えました。ちなみに後日でも、LINEから写真を投げるだけでOK。
実際の構築では動画・メッセージも送れるようにしていましたが、今回は写真だけに絞ってハンズオンしていきます。# 構成図
![スクリーンショット 2021-11-19 17.24.14.png](https://qiita-image-store.s3.ap-n
CircleCIを使ってコンテナイメージをAWS LambdaへデプロイするCI/CD環境を構築してみた
# 1.はじめに
2020年12月にAWS Lambda はコンテナイメージのサポート開始を発表しました。
ECSやEKSといったコンテナ系のサービスだけでなく、Lambdaでもコンテナネイティブな開発環境を作ることができます。これまでのLambda関数のデプロイ方法は下記の通りです。
– マネージメントコンソールからソースコードを編集する
– ZIPファイルをアップロードする
– Amazon S3に配置したZIPファイルをデプロイする上記の3つに加えてECRに配置したコンテナイメージをデプロイする方式が利用可能になりましたので、
こちらを利用した開発ワークフローをCI/CD環境をCircleCIで構築してみました。—
# 2.本記事の対象者
– CircleCIを利用したい方
– コンテナイメージをLambdaにデプロイしたい方—
# 3.CircleCIとは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2295139/97c71d13-8ce
AWS Lambdaからsuds-py3を使ってSOAP API連携をしてみた
RESTにとって変わられがちですが、ちょっと触る機会があったので、
表題の件を簡単かつざっくり解説していきます。なお連携対象はOracle B2C ServiceのSOAP APIの想定です。
##環境
Python3.8
AWS Lambda プロキシ統合ありライブラリ
suds-py3 1.4.4.1##準備
まずはライブラリをインストール
“`
$ pip3 install suds-py3
“`##実装
内容は連携するAPIに準じて読み替えてください。
インポート関係はこんな感じです。“` python3
import os
import json
from suds.client import Client
from suds.wsse import *
from suds.sudsobject import asdictWSDL = os.environ[‘WSDL’] # 指定のWSDLのURLを記載
APP_ID = os.environ[‘APP_ID’]
USERNAME = os.environ[‘USERNAME’]
PA
LambdaでWindows インスタンスの Nitro 世代移行を自動スケジューリング化してみた
# はじめに
r4からr5など、XenベースからNitroベースの最新世代へのEC2インスタンスタイプの変更時には
ドライバーのアップグレード等ダウンタイムが生じるOS内部作業が伴います。必然的にダウンタイムが長くなるため平日日中帯を避けたいケースも多いのではないでしょうか。
Lambda(python)で自動スケジューリング化に挑戦してみました。# 環境
EC2インスタンスタイプ:r4.largeからr5.largeへ変更
EC2のOS:Windows server 2012 R2
Lambdaで使うランタイム:Python3.9#作業全体像
今回の作業は以下ドキュメントに沿って行います。https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/migrating-latest-types.html#auto-upgrade
1. AWS PV ドライバーのインストールとアップグレード
1. ENA のインストールとアップグレード
1. AWS NVMe ドライバーをアップグレード
1. EC2Con