-
[Python] aws-requests-auth で Lambda から IAM 認証つきの API を簡単に叩く
AWS Lambda から IAM 認証のかかった API を呼び出したいという場合があります。 この場合、Lambda に適切な IAM ロール(ポリシー)を付与し、かつ API 呼び出し時に署名を行う必要があります。 Python では、aws-requests-auth というライブラリを使用すると簡単に署名を行うことができます。 API の準備 IAM 認証のかかった API を用意します。リージョンは ap-northeast-1 と仮定します。 今回は GET /hoge を叩くと {“message”: “hoge”} が返ってくるように設定しました。 この API に IAM 認証をかけ、デプロイしておきます。 ステージ名は api としました。 黒く塗りつぶしている箇所は API ID です。 Lambda 関数の作成 API を呼び出す Lambda 関数を作成します。 ロールには基本的なポリシーに加え、以下のようなポリシーを設定します。 Resource は arn:aws:execute-api:(リージョン):(アカウントID):(API ID)/(ステージ)/(メソッド)/(リソースパス) のような形式で指定します。…
-
AWS Lambda で Python みたいな関数型言語 Coconut を動かすぞ!!!!!!!(非カスタムランタイム)
みなさんはじめまして!!!!!!!!!!!! 会津ラボで主にバックエンドの開発を担当している吉原です。他にブロックチェーン等もやってます。好きな言語は Haskell、趣味はクイズゲームです。以後お見知りおきを。 ※ ちなみに弊社には吉の字がつくバックエンド担当が2人おり、度々間違われます。当ブログをご覧になる場合はご留意ください。 さて、今日(注:執筆開始時点)はお盆です。 ……お盆も働いていたやつらだ。面構えが違う。 というのは冗談で、お盆休みをずらして取得しているため、その代わりに出勤しています。こういったことができる所も会津ラボの魅力の1つかなと思います。 閑話休題。 みなさん、Haskell してますか? え? Haskell って何? いますぐすごい H 本(Miran Lipovača『すごい Haskell たのしく学ぼう!』 オーム社)を読んでください。 Haskell は一般的に関数型言語と呼ばれるプログラミング言語の1つです。その中でも強い静的型付けの純粋関数型言語といったようなものになります。要するにつよい。 でもお仕事で Haskell を書くことはほぼありません。 なんでや! こんなにかわいいのに…… みんな、Haskell、書こう。 ……嘆いていても仕方ありません。じゃあ普段はどんな言語を使っているかといいますと、最近は主に Python とか JavaScript です。 みなさん、JS 好きですか? ……誤解を招きそうなのでもう一度。JavaScript 好きですか? ……なるほど。まあ私も JavaScript よりは Python の方が好きです。Python はいいですよね。シンプルで読み書きしやすいし、あとロゴがかわいい(重要)。 でもずっと Python を書いていると、ついこう思ってしまいませんか? もっと関数型したい…… Python はラムダ式やイテレータを始め、一般的に関数型プログラミングと呼ばれるスタイルにおいて有用な機能を多く持っています。 でも……もっと関数型の力が欲しくないか……? もっと軽率に関数合成したり、部分適用したり、パイプでつなげたり、パターンマッチしたり、あわよくば代数的データ型を使ったりしたくないか……? そこで登場するのが Coconut というプログラミング言語です。 Coconut http://coconut-lang.org/…