投稿者:

AWS, Lambda, Python

はじめに

LambdaでPythonの外部ライブラリPillowを含めてデプロイしようとしたときにはまった話です。
調べてみると結構でてきますが、備忘録を兼ねて。

どんなミスをしたか

Macのターミナル上でpipを使いPillowをインストールし、zipで圧縮してデプロイパッケージ作成、デプロイしてテストを行うと

失敗してしまいました。
調べてみると、Pillowはインストール時にOSに合わせてビルドするそう。
Lamb ...

投稿者:

APIGateway, JSON, Lambda, Python

HTTP の レスポンスヘッダー を json.dumps しようと思いはまったので記事を書いてみました。

単純にレスポンスの結果を表示してみる。

import requests req = requests.get(url='http://example.com')print(req.headers)

実行結果

{'Content-Type': 'text/html; charset=utf-8', 'Content-Length ...

投稿者:

Lambda, Python

Pythonのデコレーターで実現する。

デコレーターに共通処理を記述し、デコレーターをモジュールとして各Lambda関数でインポートする。

デコレーターの実装

def pre_processing(data):    # 前処理     ・     ・     ・    ...

投稿者:

AWS, Datadog, Lambda, Python

Serverless では Lambda 関数が多く、ブラウザで Screenboard を作成するのは辛いと思うのでスクリプトを書いてみました。
Widget は 全て Graph で作成しています。

import boto3from datadog import initialize, api options = {    'api_key': 'xxxxxxxxxxxxxxxxxxxxxx',&nbs ...

投稿者:

AWS, Lambda

Lambdaの機能にバージョニングがあります。
バージョン発行すると発行時の最新のコードをスナップショットとして保存しておくことができます。
Lambda関数のコードを更新してもバージョンを指定すれば、以前のコードを実行できる便利な機能です。
以下、バージョン発行のコードです。

import sys, boto3 args = sys.argv if '--function-name' in args: &nb ...

投稿者:

AWS, AWS SAM, Lambda

TimestampがUTCに!

既存のバッチ処理をLambdaに置き換えるという対応をしていたのですが、レコードの登録日時や更新日時が一律UTCになってしまいました。
AmazonLinux最初に立ち上げるとタイムゾーンがUTCになってた記憶があり確かにそうだなと、、
それで色々対応があるなかで一番簡単なのはこれだと思います。

対応方法

環境変数に設定します。SAMだとこのように書けば終了です。

Environment: &nbs ...

投稿者:

APIGateway, AWS, Lambda, serverless

SAM Local (Beta)が発表されローカル環境でサーバレスアプリケーションをデバッグできるようになったので試してみました。
ちなみにリンク先の記事はそのままでは動かそうとすると情報が足りなかったので、試したい人はGitHubの方のチュートリアルやサンプルを触ってみるのが良いと思います。

ローカルにLambdaを作成

チュートリアル用のHelloWorld関数をローカルに作ってみます。

template.yml

AWSTempl ...

投稿者:

AWS, JavaScript, Lambda

必要なライブラリを読み込む

LambdaのソースコードはS3上にzip形式で配置されているため、
AWS JavaScript SDKに加えてjszipというzipファイルを扱うライブラリを使用します。

<script src="//sdk.amazonaws.com/js/aws-sdk-2.72.0.min.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/ ...

投稿者:

APIGateway, AWS, Lambda, Swagger

サーバーレス

使われてもいない時間帯に、常時稼働してるサーバーって無駄じゃない?リクエストが来た分だけ、処理すればいいじゃん!
サーバー監視とかめんどくさくない?ビジネスロジックだけに注力したい!

などなど、サーバーレスと言う言葉がバズワードになってる感があり、どうせ騒いでるだけしょ?っていうのはありますが、触ってもないのにディスるのも嫌なので、PlayPASSとは非常にマッチしてそうだったので、試しに実装してみました。

開発するにあたって有名な ...

投稿者:

APIGateway, AWS, Lambda, serverless, イベントレポート

概要

2017/6/22(木)に、AWSを活用しサーバレスでAPIを構築しよう!といった内容で勉強会を開催しました。

AWSハンズオン – Serverlessで投票機能実装編-

内容

にょこた氏の方でサーバレス概要を説明した後、
宮田の方でハンズオン形式で前半と後半に分けて進めました。合計2時間です。

サーバレス概要(10分)

ハンズオン前半戦(55分)

Lambdaを実行しよう!
API G ...