Lambda

Lambda(node.js)

AWS API Gateway + Lambda(node.js)でセキュリティグループのマイIPを更新する方法

AWS Lambda(node.js)でセキュリティグループのマイIPを更新する方法 リモートワークが増えてきたので、自宅のPC環境からAWSのサービスに接続したいという場合、インバウンドルールにマイIPを設定すると思います。 自宅のルータ...
Lambda(node.js)

AWS Lambda(node.js)でテンプレートエンジンのhandlebars.jsの使い方

AWS Lambda(node.js)でテンプレートエンジンのhandlebars.jsの使い方 Lambda(node.js)でテンプレートエンジンを使いたい時があったのでhandlebars.jsを選定して使ってみました。 インストール...
CloudFront

AWS Lambda@Edgeを作成する方法

AWS Lambda@Edgeを作成する方法 前提 CloudFront + S3構築済 CloudFront経由した後(Origin Request)でURIを書き換えたかったのでLambda@Edgeを使ってみました。 BASIC認証な...
gulp

gulp,gulp-zip,node-aws-lambdaを使用してzip圧縮ファイルでLambdaをデプロイまたは圧縮するまで

gulp,gulp-zip,node-aws-lambdaを使用してzip圧縮ファイルでLambdaをデプロイまたは圧縮するまで gulp,gulp-zip,node-aws-lambdaモジュールを使用してローカルで作成したLambdaを...
AWS CLI

AWS LambdaをCLIで再デプロイする方法

AWS LambdaをCLIで再デプロイする方法 LambdaをCLIで作成するにはaws lambda update-function-codeを使います。 update-function-code 必須パラメータは以下の通りです。aws...
AWS CLI

AWS LambdaをCLIで作成する方法

AWS LambdaをCLIで作成する方法 LambdaをCLIで作成するにはaws lambda create-functionを使います。 create-function 必須パラメータは以下の通りです。aws lambda creat...
Lambda(node.js)

AWS Lambda(node.js)をローカルでデバッグする方法あれこれ

AWS Lambda(node.js)をローカルでデバッグする方法あれこれ Lambda(node.js)をローカルでデバッグしたいので探してみました。 AWS Cloud9 AWS SAM エントリポイント テストフレームワーク 詳しく調...
Gradle

AWS Lambda(Java)をVSCodeのGradleプロジェクトで開発する方法

AWS Lambda(Java)をVSCodeのGradleプロジェクトで開発する方法 Lambdaの言語は色々ありますが、Java8,11,17がサポートされています。 最近Javaもコールドスタート対策されて約10倍くらい早くなったらし...
API Gateway

API Gateway+LambdaでヘッダにSet-Cookieを複数設定する方法

API Gateway+LambdaでヘッダにSet-Cookieを複数設定する方法 CloudFrontの署名付きCookieを使用しようとしたのですが、3つSet-Cookieを設定する必要があります。 ところが、API Gateway...
API Gateway

AWS LambdaのエイリアスとAPI Gatewayを関連付ける方法

AWS LambdaのエイリアスとAPI Gatewayを関連付ける方法
AWS

AWS Lambdaのコールドスタートを解決するProvisioned Concurrency機能

AWS Lambdaのコールドスタートを解決するProvisioned Concurrency機能 Lambdaは初回起動時にLambda実行環境の初期化処理が伴う為、起動に時間がかかります。 そのため、cloudwatch eventsか...
API Gateway

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法 Lambdaはバージョン管理しておくことができます。 バージョン管理すると$LATESTが最新バージョンのLambdaとなり、このバージョン...
Lambda

AWS Lambdaのレイヤーを使ってnode_modulesとLambdaを分離する方法

AWS Lambdaのレイヤーを使ってnode_modulesとLambdaを分離する方法 Lambdaにレイヤーという機能が追加されていました。 /opt配下からレイヤーが使えるようです。ちなみに/tmpも使えます。 レイヤーは共通ライブ...
Lambda(node.js)

AWS LambdaがNode.js8.10からasync/awaitになっていた

AWS LambdaがNode.js8.10からasync/awaitになっていた 久々にAWSを使う機会があり、これまた機能がテンコ盛りのように増えているんですが、Node.js6.10のLambdaからNode.js8.10にするとas...
Lambda(node.js)

Lambda(node.js)でカスタム例外を作成する

Lambda(node.js)でカスタム例外を作成する node.js v12でErrorオブジェクトを継承したカスタム例外クラスを作ってみます。 'use strict' class CustomError extends Error {...
Lambda(node.js)

AWS Lambda(node.js)でmapとPromise.allで並列実行する

AWS Lambda(node.js)でmapとPromise.allで並列実行する S3にputObjectする処理をする場合にコーディングによっては処理が遅くなってしまうケースがあります。 await S3.putObject(para...
Lambda

AWS Lambdaはステートレスにする

AWS Lambdaはステートレスにする AWS Lambdaで/tmpが一時的に使えます。詳細は「AWS Lambdaでは一時的に/tmp/ディレクトリが使用できる」を参照ください。 今回LambdaAともう一つのLambdaBで/tmp...
Lambda

AWS Node v4.3終了です

AWS Node v4.3終了です Node.js v4.3ランタイムを使用した新規の関数作成は2018年7月31日まで、既存の関数の更新は2018年10月31日までとなります。 EOLとは EOLとは、End Of Lifeで、「寿命」で...
API Gateway

AWS Cognitoで認証した後、認可したAPI GatewayにユーザIDを渡す

AWS Cognitoで認証した後、認可したAPI GatewayにユーザIDを渡す Cognitoで認証した後に認可しているAPI GatewayにユーザIDを渡したい場合があるかも知れません。でもないかもしれません。 とりあえず渡す方法...
AWS

AWS Lambda(Python3.6)からDynamoDBのデータを検索する

AWS Lambda(Python3.6)からDynamoDBのデータを検索する AWS Lambda(Python3.6)からDynamoDBのデータを検索してみます。 「AWS Lambda(Python3.6)からDynamoDBにデ...
AWS

AWS Lambda(Python3.6)からDynamoDBのデータをバッチ登録する

AWS Lambda(Python3.6)からDynamoDBのデータをバッチ登録する
AWS

AWS Lambda(Python3.6)からDynamoDBのデータを削除する

AWS Lambda(Python3.6)からDynamoDBのデータを削除する AWS Lambda(Python3.6)からDynamoDBのデータを削除してみます。 削除するにはdelete_itemメソッドを使用します。 impor...
AWS

AWS Lambda(Python3.6)からDynamoDBのデータを更新する

AWS Lambda(Python3.6)からDynamoDBのデータを更新する AWS Lambda(Python3.6)からDynamoDBのデータを更新してみます。 import boto3; def lambda_handler(e...
DynamoDB

AWS Lambda(Python3.6)からDynamoDBにデータ取得する

AWS Lambda(Python3.6)からDynamoDBにデータ取得する
DynamoDB

AWS Lambda(Python3.6)からDynamoDBにテーブルを作成する

AWS Lambda(Python3.6)からDynamoDBにテーブルを作成する AWS Lambda(Python3.6)からDynamoDBにテーブルを作成してみます。 create_tableメソッドを使用します。 import b...
AWS

AWS LambdaをPython3.6で書いてみる入門編です

AWS LambdaをPython3.6で書いてみる入門編です 最近node.jsも飽きたのでPython3.6でLambdaを勉強しようと思いました。 node.jsだとindex.jsがデフォルトで作成されますが、Python3.6だと...
AWS

AWS Lambdaがデフォルトで持っている環境変数一覧

AWS Lambdaがデフォルトで持っている環境変数一覧 Lambdaはデフォルトで環境変数を持っているので一覧を表示します。 exports.handler = (event, context, callback) => { consol...
AWS

AWS CognitoとLambdaを連携する

AWS CognitoとLambdaを連携する AWS Cognitoでは、以下のタイミングでLambda関数を呼び出すことができます。 サインアップ前 認証前 カスタムメッセージ 認証後 確認後 認証チャレンジの定義 認証チャレンジの作成...
AWS

AWS IoTにクライアント機器から画像(バイナリデータ)を送信する

AWS IoTにクライアント機器から画像(バイナリデータ)を送信する クライアント機器から画像などのバイナリデータを送信してS3にPUTしたい、ということはよくあると思います。 が、現状ではクライアント機器から画像をそのままAWS IoTに...
AWS

VPC LambdaからVPC上のリソースにアクセスすると初回実行時が遅いのはENIを作成するからです

VPC LambdaからVPC上のリソースにアクセスすると初回実行時が遅いのはENIを作成するからです VPC Lambdaを実行すると、なんか最初の1回目が凄く処理が遅い、と思いました。 2回目以降は早いのです。ググってみると、どうもVP...
AWS

AWSのVPC Lambdaと非VPC Lambdaの違い

AWSのVPC Lambdaと非VPC Lambdaの違い 非VPCのLambdaとVPC対応のLambdaの違いです。 なぜ非VPC LambdaがRDSにアクセスできたのか 以前書いた記事で「AWS LambdaからRDS(MySQL)...
lambda(Python)

AWS Lambda(Python3.6)からDynamoDBのデータを登録する

AWS Lambda(Python3.6)からDynamoDBのデータを登録する AWS Lambda(Python3.6)からDynamoDBのデータを登録(挿入)してみます。 usersテーブルが存在しているものとします。「AWS La...
Lambda(node.js)

AWS LambdaでJSONからCSVに変換するJSON2CSVを使う

AWS LambdaでJSONからCSVに変換するJSON2CSVを使う JSON形式の配列をCSVに変換するのに便利なJSON2CSVというパーサがあったので使ってみました。 使い方は以下のようにrequire('json2csv').P...
Lambda(node.js)

AWS Lambdaでは一時的に/tmp/ディレクトリが使用できる

AWS Lambdaでは一時的に/tmp/ディレクトリが使用できる LambdaではS3とのやり取りなどのために?一時的なディレクトリとして、/tmp/ディレクトリを使用することができます。 fsモジュールを使用して一時的なファイルを作成し...
Lambda(node.js)

AWS LambdaからRDS(MySQL)にSQLを発行する

AWS LambdaからRDS(MySQL)にSQLを発行する RDS(MySQL)はVPCのパブリックサブネットに配置されている前提とします。 LambdaからRDSにアクセスするには同一VPC上にLambdaを置く必要があるかもしれませ...
AWS

Amazon SNSとLambda関数の連携方法

Amazon SNSとLambda関数の連携方法 Amazon SNSとLambda関数の連携方法についてです。 Amazon SNSのTopicにメッセージを送信し、Lambda関数を実行してみます。 まずAmazon SNSの「Topi...
AWS

Lambda(Node.js)からDynamoDBのテーブルを更新する

Lambda(Node.js)からDynamoDBのテーブルを更新する Lambda(Node.js)からDynamoDBのテーブルを更新する Lambda(Node.js)からDynamoDBのテーブルを更新します。 AWS.Dynamo...
AWS

Lambda(Node.js)からDynamoDBのテーブルを作成する

Lambda(Node.js)からDynamoDBのテーブルを作成する Lambda(Node.js)からDynamoDBのテーブルを作成する Lambda(Node.js)からDynamoDBのテーブルを作成してみます。 以下を参考にしま...
AWS

Lambda(Node.js)からDynamoDBを検索する – AWS

Lambda(Node.js)からDynamoDBを検索する - AWS Lambda(Node.js)からDynamoDBを検索してみます。 scanは全件検索します。 var AWS = require('aws-sdk'); var ...
gulp

Node.jsでプロジェクト内の共通モジュールの依存関係どうするかハマったのでメモ

Node.jsでプロジェクト内の共通モジュールの依存関係どうするかハマったのでメモ AWS Lambdaで複数APIを作るプロジェクト内で共通モジュールの依存関係どうやったら良いかで悩んだのでメモです。 共通モジュールはcommonフォルダ...