既存システムにAWSのLambdaで作ったREST APIの認可で手こずる

既存のWebサービスのシステムについて、アプリケーションの肥大化とか、この先のことをメンテナンスとか、後はまぁ単にやってみたかったというのもあって、機能の追加でAWSのAPI Gateway + LambdaでREST APIを作成することにした。APIを誰でもかれでも使えては困ってしまうので、APIの保護をしなくてはならないのだが、これが思ったよりもだいぶ手こずった。結局、プライベートAPIを利用することになったのだが…。

“既存システムにAWSのLambdaで作ったREST APIの認可で手こずる” の続きを読む

simpleMicroServiceRoleでDynamoDBをqueryする権限を与える

AWSのLambdaでは実行ロールを用いてアクセス制御を行うわけだが、テンプレートポリシーのsimpleMicroServiceRoleを用いると、Cloud Watch LogsとDynamoDBの基本的な操作権限が与えられて便利だ。便利なのだが、Queryの権限がないので(Scanはあるのに)、その権限を追加するメモ。

“simpleMicroServiceRoleでDynamoDBをqueryする権限を与える” の続きを読む

AWS Lambda + API Gateway で/hoge/{group}/{user}のように階層構造のREST APIでパスパラメータの受け渡し

AWS系の記事を書くと、サービス名が入るのでどうしてもタイトルが長くなってしまうのがつらい。二時間ドラマでもここまで長くない。

AWS Lambda + API Gateway でREST APIを作るとして、/hoge/{group}/{user}のように、URI階層構造にして、かつ{group}と{user}をパスパラメータとして関数内で処理するようなパターンを考える。ちなみにLambdaはpython3で書いている。

“AWS Lambda + API Gateway で/hoge/{group}/{user}のように階層構造のREST APIでパスパラメータの受け渡し” の続きを読む

AWS Lambda + API Gateway でREST APIを作成し、値を渡してDynamoDBに書き込んでついでに返り値を得るサンプル

やたらと長い表題になってしまったがこのとおり。AWS Lambda + API Gateway でREST APIを作成する。API経由で値をjsonで渡してDynamoDBに書き込み、さらに返り値をjsonで得られるようなサンプルを作成する。Lambdaはpython3.6で書く。

すっごいハマった……。

“AWS Lambda + API Gateway でREST APIを作成し、値を渡してDynamoDBに書き込んでついでに返り値を得るサンプル” の続きを読む

AWS S3上のjsonファイルをgetJSONしたらNo ‘Access-Control-Allow-Origin’ header is present on the requested resourceと怒られた時の対応

AWSのS3上にjsonファイルを置いて、サーバーからjQuery.getJSONで読み込みに行ったところ、怒られた。セキュリティ上の問題から、クロスドメインを許さない、Same-Origin Policyのため。S3側で対応が必要。

以下、メモ。

“AWS S3上のjsonファイルをgetJSONしたらNo ‘Access-Control-Allow-Origin’ header is present on the requested resourceと怒られた時の対応” の続きを読む

FESSで検索ないし更新のエイリアスを別のインデックスを付け替える

FESSは検索用のインデックスと更新用のインデックス別々に作成することができる。ここでは、検索・更新用のインデックスから、別のインデックスを更新用にする手順のメモを書く。

FESSは11.4系。

“FESSで検索ないし更新のエイリアスを別のインデックスを付け替える” の続きを読む