Lambdaのデプロイではまった話
投稿者:海津 純平LambdaでPythonの外部ライブラリPillowを含めてデプロイしようとしたときにはまった話です。
調べてみると結構でてきますが、備忘録を兼ねて。
Macのターミナル上でpipを使いPillowをインストールし、zipで圧縮してデプロイパッケージ作成、デプロイしてテストを行うと
失敗してしまいました。
調べてみると、Pillowはインストール時にOSに合わせてビルドするそう。
Lamb ...
Pythonで時間を止める方法
投稿者:高橋克幸Pythonで時間を止める方法を習得したので、紹介です。
freezegunというモジュールを利用することができます。
以下のように記載すると、関数内で detetime.detetime が返す日時を date に固定できます。
Lambda Python の共通処理プラグイン化
投稿者:高橋克幸Lambdaで共通処理の続きです。
デコレーターで共通処理が行えるようになったので、共通処理をプラグイン化しました。
これで、デコレーターに プラグイン情報(クラス情報)を定義することで既存のコードを変更せずに、処理を追加できるようになりました。
デコレーターの実装
from common.plugin import Pluginplugins = [ {   ...requestsのheadersをJSON DUMPSする方法
投稿者:高橋克幸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で共通処理
投稿者:高橋克幸デコレーターに共通処理を記述し、デコレーターをモジュールとして各Lambda関数でインポートする。
デコレーターの実装
def pre_processing(data): # 前処理 ・ ・ ・   ...Datadog で Lambda の Screenboard を作成するスクリプト
投稿者:高橋克幸Serverless では Lambda 関数が多く、ブラウザで Screenboard を作成するのは辛いと思うのでスクリプトを書いてみました。
Widget は 全て Graph で作成しています。
Pythonのall関数を用いてリストの要素がすべて空文字列か判定する
投稿者:海津 純平開発中にPythonで「リストの要素がすべて空文字列か」という判定をしたい場面があり、なにかないかと調べてみたら、allという組み込み関数で簡単に実装できました。
今回はそのall、対になるanyを紹介します。
リストやタプルのような、iterableオブジェクトの要素がすべて真のときにTrueを返す関数。
Pythonでの真は、数値は0以外、文字列は空文字列(“”)以外、
タプルは空のタプル() ...
Pythonにおけるリストのコピー
投稿者:海津 純平昔、Pythonのリストのコピーでつまずいた話になります。
同じミスがないように。。。と思い共有します。
リストのコピー
以下のようにリストを代入しただけだと
l1 = [1, 2, 3]l2 = l1l2[0] = 10 #l2のみ最初の値を変えたいprint('l1:', l1)print('l2:', l2)実行結果
l1: [10, 2, 3]l2: [10, ...Python標準ライブラリの関数groupby
投稿者:海津 純平先輩にPythonには標準でグルーピングできる関数groupbyがあることを教えていただきました。
かっこよかったので紹介します。
使い方
以下のように使います。
groupby(iterableオブジェクト(リストなど), key=グルーピングしたいキー)戻り値はキーの値と同じキーの要素グループのイテレータになります。
関数に渡すiterableオブジェクトは、グルーピングしたいキーでソ ...
ServerlessFrameworkを使ってみた
投稿者:岡崎拓哉サーバーレスを用いたデプロイフローや開発フローを考えた時に
ServerlessFrameworkについていろいろ調査を行い触ってみたので書いてみます。
基本的な流れとして、コンテナからServerlessFrameworkを使用してみました。
サーバーレスアーキテクチャに関する情報を自ら発信することでサーバーレスに関する情報を集める
環境[ホストOS]
Mac OS X El Capitan (ver. 10.11.3 ...