SQSでデッドレターキューに流れた処理をLambdaで定期的に再実行させる
投稿者:森川拓
NX開発推進部の森川です。
運用しているシステムにおいて、外部のAPIにリクエストを送るという部分があるのですが、SQSで処理する様になっています。
SQSで処理することには様々な利点がありますが、一例としては、「外部APIが何らかの障害等で停止している」場合でも、解消後に再リクエストすることで簡単にリカバリーできる点が挙げられます。
ただ、このSQSでデッドレターキュー(以降はDLQと表記)の作成を有効にしている場合、inact ...
AppSync のパイプラインリゾルバー
投稿者:田村航也
AWS AppSync はサーバーレスでサクッと GraphQL を構築することができます。
DynamoDB や RDS、 Lambda といった AWS サービスを簡単にデータソースとして繋ぐことができるのも魅力です。
当然単一のデータソースからデータを取得することもできますが、場合によっては複数データソースをまたいでレスポンスを返したいケースがあります。
そんなときパイプラインリゾルバーを利用すると、複数のデータソースからから順にデータを取 ...
Lambdaのデプロイではまった話
投稿者:海津 純平
LambdaでPythonの外部ライブラリPillowを含めてデプロイしようとしたときにはまった話です。
調べてみると結構でてきますが、備忘録を兼ねて。
Macのターミナル上でpipを使いPillowをインストールし、zipで圧縮してデプロイパッケージ作成、デプロイしてテストを行うと
失敗してしまいました。
調べてみると、Pillowはインストール時にOSに合わせてビルドするそう。
Lamb ...
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 で作成しています。
Lambda の バージョン発行
投稿者:高橋克幸
Lambdaの機能にバージョニングがあります。
バージョン発行すると発行時の最新のコードをスナップショットとして保存しておくことができます。
Lambda関数のコードを更新してもバージョンを指定すれば、以前のコードを実行できる便利な機能です。
以下、バージョン発行のコードです。
Lambda でタイムゾーンを変更する
投稿者:酒井 修平
既存のバッチ処理をLambdaに置き換えるという対応をしていたのですが、レコードの登録日時や更新日時が一律UTCになってしまいました。
AmazonLinux最初に立ち上げるとタイムゾーンがUTCになってた記憶があり確かにそうだなと、、
それで色々対応があるなかで一番簡単なのはこれだと思います。
環境変数に設定します。SAMだとこのように書けば終了です。
Environment: &nbs ...SAM Local (Beta)を使ってローカルにAPI Gatewayを構築する
投稿者:松木佑徒
SAM Local (Beta)が発表されローカル環境でサーバレスアプリケーションをデバッグできるようになったので試してみました。
ちなみにリンク先の記事はそのままでは動かそうとすると情報が足りなかったので、試したい人はGitHubの方のチュートリアルやサンプルを触ってみるのが良いと思います。
チュートリアル用のHelloWorld関数をローカルに作ってみます。
template.yml
AWSTempl ...JavaScript SDKでLambdaのソースコードを確認する
投稿者:松木佑徒
LambdaのソースコードはS3上にzip形式で配置されているため、
AWS JavaScript SDKに加えてjszipというzipファイルを扱うライブラリを使用します。