最初のPython AWSラムダ関数を作成する


小さなPythonスクリプトを作成するとき、最終的に来る質問は、コードがホストされ、実行されるところです.いくつかの小さなスクリプトでは、ローカルでコードを実行できるだけかもしれません.しかし、もしあなたのラップトップがオフになっても、定期的にスケジュールで実行するコードをしたいですか?または、スクリプトが他のスクリプトがアクセスできるエンドポイントの一部である場合はどうすればよいでしょうか?
つのオプションは、サーバーを設定し、そこにコードを実行することです.あなたは、デジタル海洋上の液滴をスピンし、Python環境を設定し、スクリプトを実行することができます.しかし、どうすれば、サーバーを設定し、管理する必要はありませんか?
これは、Serverlessな機能が助けることができるところです!Serverless関数は、基になるインフラストラクチャの管理を必要とせずに設定できるスクリプトです.また、これらのシステムの自動スケールので、簡単に機能をどのように計算する必要があることなく、1日または1日あたりの数回数回実行することができます.
AWS's Lambda AWSの生態系の残りの部分と緊密に統合された偉大なServerless関数システムです.AWSラムダを使用すると、Python、nodejs、およびgoを含む様々な環境で無制限の関数を作成できます.さらに良いことに、AWS無料ティアは、月ごとに100万ラムダリクエストが含まれています!

最初のPythonラムダ関数を書く
ほとんどの場合、AWSラムダ内のPythonコードは通常のPythonスクリプトの書き込みとほぼ同じです.ただし、ラムダ内では、ハンドラ関数を指定する必要があります.ほとんどのラムダ関数では、ハンドラやラムダ演算子に似ています.次のようになります.
def handler(event, context):
    '''Gets called by the Lambda environment.'''
    return true
ハンドラ関数には、イベントとコンテキストの2つのパラメータがあります.
The "event" parameter はラムダ関数に渡されたデータを含むオブジェクトです.たとえば、ラムダがエンドポイントに接続されている場合、イベント[{ body ']のようなエンドポイントに送信されたデータにアクセスできます.
The "context" parameter は、ラムダ関数自体とランタイム環境に関するデータを含むオブジェクトです.
前に進んで、値を受け入れて、その平方根を返す非常に基本的なラムダ関数を書きましょう.
import math

def handler(event, context):
    '''Gets called by the Lambda environment.'''
    return math.sqrt(event)

ラムダ関数の作成
開始するには、あなたのAWSのアカウントにサインする必要があります.
AWSコンソールでは、「サービス」をクリックして「計算」→「ラムダ」にするか、検索バーを使ってラムダを検索します.

ラムダの内部に入ると、ラムダのダッシュボードが表示されます.

あなたの機能を得るために、メニューの中から「機能」ページをクリックしてください.

次に、右上の“機能を作成する”ボタンをクリックします.

“ゼロから”著者を使用します.あなたが望む何でもあなたの機能を挙げてください.ランタイムの場合は、Pythonのバージョンを選択します.
この関数がAWS生態系の他の部分と相互作用しているなら、パーミッションやAWSロールを設定したいと思います.しかし、この例では、デフォルトを保つことができます.
ボタンをクリックします.
一度作成すると、関数の概要とコードに撮影されます.ここでは、任意のトリガや層の機能に接続を確認することができます.この1つについては、これらを使用しません.
コードセクションにスクロールし、デフォルトのラムダウ関数を開きます.Pyファイル.上記の基本的なPythonコードをファイルにコピーペーストします.次に、「展開」ボタンをクリックします.

次に、「実行時設定」セクションにスクロールします.

「ハンドラ」フィールドを編集したい.これはPythonが関数をインポートしようとする方法です.したがって、ファイル名として関数名が続きます.この場合は、lambda_function.handler デフォルトのファイルを保持していましたが、ハンドラと呼ばれる関数を使用しました.(注:デフォルトのラムダ関数を指定するだけで簡単にできましたが、このチュートリアルではこの設定を見ることができませんでした😉)
今、先頭にスクロールし、“テスト”タブに切り替えます.サンプルJSONを16のような任意の数に置き換えます.次に、「テスト」ボタンをクリックします.

ボックスは実行結果で表示されます.そして、それは平方根値を含みます.この領域には、継続時間などのリクエストに関する情報も表示されます.

おめでとう!あなたの非常に最初のラムダ関数が作成されています.

次の手順
関数がどのように機能するか探索するのは便利ですが、おそらくラムダ関数でもっとたくさんしたいと思います.このシリーズの次の記事ではsetting up a Lambda function on a recurring schedule . 将来の記事では、安全に資格情報を渡し、エンドポイントに接続し、他のPythonライブラリを追加します.
私の次の記事が公開されているときに通知を取得するに従ってください!