Amazon Web Services ブログ

Category: AWS Lambda

AWS Lambda の新機能 – 環境変数とサーバーレスアプリケーションモデル (SAM)

とサーバーレスアプリケーション開発をめぐる興奮のとりこになっています。過去 1〜2 年間に週刊 AWS で、多くのサーバーレスの成功事例、ツール、オープンソースプロジェクトを紹介しました。今回は Lambda に追加された重要な機能として、環境変数と新しいサーバーレスアプリケーションモデルについて説明します。 環境変数 開発者なら、だれでも複数の環境で利用できるコードを構築したいと思います。コードを簡単に再利用するには、実行時に設定値を受け入れられるように構築する必要があります。設定値とは、コードの環境をカスタマイズするためのテーブル名、デバイス名、ファイルパスなどです。たとえば、多くのプロジェクトは開発環境、テスト環境、本稼働環境ごとに設定が異なります。Lambda 関数に環境変数を指定できるようになりました。これでコードを変更または再デプロイすることなく設定の変更が可能になり、これまで以上にサーバーレスアプリケーション開発が効率化されます。各環境変数はキーと値のペアです。キーと値は で暗号化され、必要に応じて復号されます。関数あたりの環境変数の数には制限がありませんが、合計サイズは 4 KB を超えることができません。 Lambda 関数を新規作成する場合は、同時に環境変数も設定します。最新バージョンの関数の値は変更できますが、以前のバージョンの値は変更できません。次の例では、シンプルな Python 関数を作成して、いくつかの環境変数を設定し、その環境変数をコードから参照しています (このために os ライブラリをインポートする必要がありました)。 Lambda に用意されているデフォルトのサービスキーを使えば、この機能を使用しても料金はかかりません (独自のキーを使用する場合は、リクエストあたりの KMS の通常料金が適用されます)。この新しい機能の詳細とさまざまな活用方法については、 で「サーバーレスアプリケーションを簡素化する Lambda 環境変数」を参照してください。 AWS サーバーレスアプリケーションモデル サーバーレスアプリケーションを構築するために、Lambda 関数、 リソース、 テーブルを併用する場合があります。新しい AWS サーバーレスアプリケーションモデル (AWS SAM) を使うと、これらのすべてのコンポーネントを、 でネイティブにサポートされている簡略化された構文で記述できます。この構文を使用するには、CloudFormation テンプレートに次のような Transform セクション (CloudFormation の新しい要素) が含まれている必要があります。 AWSTemplateFormatVersion: ‘2010-09-09’ Transform: AWS::Serverless-2016-10-31 テンプレートの他のセクションでは、Lambda 関数、API Gateway のエンドポイントとリソース、DynamoDB […]

Read More

サーバーレス Chatbot コンテストに入賞した皆様、おめでとうございます!

私は 8 月に AWS サーバーレス Chatbot コンテストについて発表し、皆様に および を使用して Slack 用の Chatbot を構築していただきますようお願いしました。 先週、仲間の審査員である Tim Wagner (AWS Lambda のジェネラルマネージャー) および Cecilia Deng (Tim のチームのソフトウェア開発エンジニア) と一緒にビデオを見て、62 点の応募作品をすべて評価しました。私たちは応募作品の機能や多様性、そして作品の実行中の動作を示す魅力的なビデオの作成に対する応募者の努力に感心しました。長時間にわたって審査した結果、合計 9 点の入賞作品を選定しました。8 点は個人、チーム、小規模組織の作品で、1 点は大企業の作品です。難しい話は抜きにして、さっそく始めましょう。 個人、チーム、小規模組織 サーバーレス Slackbot ヒーロー賞の入賞作品は以下のとおりです。各入賞作品には、 のチケット 1 枚、ホテルの宿泊割引、公表、サーバーレスコンピューティング基調講演中の宣伝、クールな賞品、および 100 USD の AWS クレジットが贈られます。これらの多くのボットのコードは、GitHub で確認することができます。入賞作品をアルファベット順に示します。 AWS Network Helper – “このプロジェクトの目標は、サーバーレスアーキテクチャで実行する AWS ネットワークトラブルシューティングスクリプトを提供し、チャットボットとして Slack 経由で相互作用させることです。” GitHub repo。 B0pb0t […]

Read More

AWS Lambda と Amazon API Gateway で Express アプリケーションを実行

Express は Node.js のウェブフレームワークです。これを使用すると、「サーバーレス」ウェブサイトやウェブアプリケーション、API を簡単にデプロイできます。サーバーレス環境では、大方またはすべてのバックエンドロジックがステートレスのオンデマンドで実行します (詳細情報については Mike Roberts によるブログ「Serverless Architectures」をご覧ください)。今月初旬に公開したブログ (「API Gateway の更新 – API 開発を簡素化する新機能」) で紹介した新しい 機能と を併せて使用した場合、既存の Express アプリケーションをサーバーレスで実行することができます。API Gateway を使用すると API を中心に開発者のエコシステム構築を可能にする使用量プランなど追加機能を利用したり、キャッシュにより応答性と費用対効果に優れたアプリケーション構築を行うこともできます。 AWS は aws-serverless-express パッケージを提供することで Express アプリケーションから や への移行をお手伝いしています。このパッケージには実例が含まれています、ぜひご活用ください。 Express コードとアプリケーションを と に移行する場合に利用できる 2 つのリソースをご紹介します。 「Running Express Apps in AWS Lambda」ではアプリケーションをデプロイする場合の Claudia.js と aws-serverless-express モジュールの使い方が説明されています。既存の TCP リスナーを削除し、Lambda プロキシラッパーを作成してからデプロイするだけです。 AWS ブログ「サーバーレス: Express […]

Read More

サーバーレスでChatbot コンテスト開催

AWS Serverless Chatbot コンテストの審査員にならないかとのオファーが来たので、喜んで引き受けることにしました。 Chatbot の構築 AWS Lambda と Amazon API Gateway を使用して Slack 用の chatbot を構築してください。他の API (Slack Events API が便利) や追加サービス (AWS その他)、その他のデータソースも使用することができます。コンテストの参加作品はクリエイティブかつオリジナルであり、Stack ユーザーに本当の価値を提供できるものでなければなりません。AWS Free Tier は Lambda、API Gateway、そしてその他の AWS サービスへのアクセスを無料でご提供します。AWS の新規および既存のユーザーは Lambda リクエスト 100 万件、そして 400,000 GB/秒のコンピューティング時間を無料で利用することができます。AWS の新しいユーザーはサインアップしてから 12 か月間、API Gateway への API コールを毎月 100 万件ご利用いただけます。 コンテスト参加作品 Chatbot が完成したら、パッケージやマーケティングにも力を注ぐことをおすすめします。参加作品の一環として次のアイテムを提供することも忘れないでください。 Chatbot を実際に使用した様子を示すビデオ資料 参加作品の機能やユニークな点に関する概要 […]

Read More