ゼロからAWSラムダ関数を作成します


始める前に


あなたが読んでのように感じていない場合、迅速な(3分未満)ビデオの束を見て好む-このブログシリーズは💰フリー💰 私が最近発表したegghead.ioビデオコレクションは、ここでそれをチェックします:Learn AWS Lambda from scratch.
これは、“傷から学ぶAWSラムダ”シリーズのパート2です.
最初の部分をチェックアウトしたいなら、ここをクリックしてください.

どのように、私はAWSラムダ関数をつくりますか?


まず、あなたのAWSのアカウントにログインする必要があります.
AWSアカウントを持っていない場合は、私の資格情報を使用してください.
email: [email protected]
password: NeverShareYourCredentialsWithAnyone
したら、ラムダに移動します(サービスメニューのComputeセクションの下にあります).

ここで利用できる三つのオプションがあります.

  • ゼロからの著者-あなたは簡単な「Hello World」例から始めます、そして、あなたはあなた自身の
  • であなたの機能を実行することができます

  • 青写真を使用する-“青写真”を使用してラムダ関数を構築することができます.この文脈の青写真は一般的なユースケースのためのコードと構成の意味を意味します、例えば、何かがS 3
  • にアップロードされるとき、DynamoDBテーブルになされる更新を記録しているか、機能を引き起こすことを引き起こします

  • あなたがAWS Serverlessアプリケーションリポジトリから全体のサンプルアプリケーションを展開することができます.パッケージはAWSまたはコミュニティ
  • によって提供されます.
    あなたが解決しようとしている問題が既に他の誰かによって解決されたという感じがあるならば、最後の2つのオプションは確かに価値があります車輪.あなたがかなりそれらをチェックアウトすることによって学ぶことができる言及しないでください.
    もう1つの機能を作成する前に
    AWSラムダはグローバルサービスではない
    この関数は、AWS領域のいずれかで関数を作成することを意味します.

    私はフランクフルトから自分の機能を展開する予定です.それは私のオフィスから徒歩でわずか143時間ですからです

    ランタイム


    関数を作成するためには、どのようなランタイムを使用するかを指定する必要があります.言い換えれば、どのプログラミング言語を使って関数を書きたいのですか.いくつかのプログラミング言語があります.

    そのノードは変な感じです.JSは正確には言語ではありません
    そこには、JavaScript、Java、Python、行く.ネットとルビー-誰かのために少し何か.あなたがハロウィンにコード化しているならば、あなたは死を上げて、Python 2.7 [* ]であなたの機能を書くと決めさえするかもしれません.
    さて、ロールしましょう-私たちはノードを選択するつもりです.我々の実行時としてのJS
    すべてのデフォルトと関数を作成します.
    見よ、ラムダ関数デザイナー

    ここで注目すべきことがいくつかあります.
    まず最初に-すべてのラムダ関数(これはAWSのすべてのリソースにも該当します)は右上隅で見ることができるユニークなARN(Amazonリソース名)を持っています.
    各機能は、複数のトリガと目的地を持つことができます.
    私の中で議論されるように、あなたの機能は、以下を含むいろいろな源によって引き起こされることができます

  • AWSゲートウェイは、HTTPリクエストによってラムダ関数をトリガーすることができます(APIを作成するときに便利です)

  • あなたは、文字通り、あなたの机
  • の上で「推進する」ボタンを持っていることができます

  • AWS S 3 -ラムダ機能は、S 3バケット
  • にファイルをアップロードすることによって引き起こされることができます

  • 例えば、あなたはあなたのDynamoDB表
  • に項目を加えることによって、ラムダ機能を引き起こすことができます
    それが目的地に来るとき、あなたの機能呼び出し記録は複数の場所に送られることができます:SQS待ち行列、SNS話題またはイベント・バス.便利なときにラムダ関数の障害の追跡を維持する(または電子メールを受信するたびに誰かがあなたの関数を、ひどいアイデアbtwを受信したい).
    これは美しさにおけるラムダ関数である.
    exports.handler = async (event) => {
        // TODO implement
        const response = {
            statusCode: 200,
            body: JSON.stringify('Hello from Lambda!'),
        };
        return response;
    };
    
    たいしたことじゃない?
    AWSラムダになると、ラムダがトリガされるたびにすべての関数が呼び出されるCreate function関数を実装します.この場合、HTTPコード200(handler)と本体OKで応答を常に返します

    どのように、私は私の機能をテストしますか?


    テスト(そして実際にコールする)ために、テストイベントを作成する必要があります.それを行うには、[テスト]ボタンをクリックします.
    機能をテストする前に、テストイベントが必要です.ラムダ関数が実行されるたびに、その引数として'Hello from Lambda!'が表示されます(上記の例で見ることができます)
    現在、我々はイベントで何もしていないので、それを「mytestevent」と呼びましょう

    さて、準備ができました-もう一度テストをクリックし、結果を見ましょう.

    おめでとう!あなたはちょうどあなたの非常に最初のラムダ関数を実行しました!
    我々は以前に指定した結果を見ることができるだけでなく、機能の持続時間、メモリのサイズ、最大メモリを使用し、請求された(kaチン!)を詳述ログ期間.あなたが1ヵ月であなたのラムダ機能の最初の100万の呼び出しのために請求されないことに注意してください.
    それだ!次のポストでは、API APIゲートウェイトリガーを追加し、AWS