投稿

ラベル(Lambda)が付いた投稿を表示しています

【AWS】Visual Studio CodeでSAMアプリケーション開発

イメージ
Visual Studio Code(以下vscode)でSAMアプリケーション開発をする手順をまとめます。 前提条件 AWS-CLIインストール済み SAM-CLIインストール済み 事前準備 vscodeにAWS Toolkitをセットアップ vscodeを立ち上げてサイドメニューのEXTENSIONSからAWS Toolkitを検索 AWS Toolkit for Visual Studio Codeをインストール サイドメニューにAWSボタンが出てくればOK アプリケーション開発 新規のSAMアプリケーションを作る サイドメニューのAWSをクリック 上段メニューから「Create new SAM Application」 Runtimeを選択(せっかくだからPython3.7を選択する) アプリケーションを配置する場所を選択 (→sam-test-2) アプリケーションの名前を入力 (→sam-test) SAMアプリケーションの作成が完了すると、template.yamlが開く デプロイ設定 template.yaml AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: > sam-test Sample SAM Template for sam-test # More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst Globals: Function: Timeout: 3 Resources: HelloWorldFunction: Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/mas

【AWS】SAM-CLIでサーバーレスアプリケーション② - Lambda関数のデプロイ -

SAMアプリケーションのデプロイは ビルド → テスト(省略可) → パッケージング → デプロイ の順に行います。 ビルド アプリケーションをビルドする sam build $ sam build Building resource 'HelloWorldFunction' Running NodejsNpmBuilder:NpmPack Running NodejsNpmBuilder:CopyNpmrc Running NodejsNpmBuilder:CopySource Running NodejsNpmBuilder:NpmInstall Running NodejsNpmBuilder:CleanUpNpmrc Build Succeeded Built Artifacts : .aws-sam/build Built Template : .aws-sam/build/template.yaml Commands you can use next ========================= [*] Invoke Function: sam local invoke [*] Package: sam package --s3-bucket [yourbucket] 成功すると .aws-sam/ にビルドされたモジュールが生成されます。 次に必要なコマンドを教えてくれる。(Commands you can use next) が、Invoke Functionはビルドしたアプリケーションをテスト実行してくださいと言っていますが、これに関してはすでに検証済み(と仮定して)なのでスキップします。 なので最後の行、sam packageでパッケージングを実行します。 パッケージング sam packageコマンドでパッケージングを実行します。 オプション options --template-file … template.yamlを指定 --s3-bucket … パッケージのアップロード先(※Lambda関数のデプロイではない) --output-template-file … デプロイ用のテンプレートファイル 実行 sam package $ sam pac

【AWS】SAM-CLIでサーバーレスアプリケーション① - プロジェクトの作成とローカルでテスト実行 -

AWSでサーバーレスアプリケーション(SAMアプリケーション)を開発する際の手順をまとめます。 はじめに サーバーレスアプリケーションとは バックグラウンドで処理をするアプリケーション(いわゆるLambda関数) SAM-CLIとは AWSの提供するクライアント用SAMコマンド(Serverless Application Model - Client) ローカルでサーバーレスアプリケーションの作成やAWSへのデプロイができる また、Dockerと組み合わせればローカルでのテスト実行が可能 公式の詳細は以下 https://aws.amazon.com/jp/serverless/sam/ この記事ではSAM-CLIを使ってLambda関数をローカルで実行する手順を紹介します。 実装 プロジェクト作成 sam init $ sam init 以下のような構成でファイルが作られる。 sam-app/ ├── README.MD ├── event.json ├── hello-world │ └── app.js │ └── package.json │ └── tests │ └── unit │ └── test-handler.js ├── template.yaml ※もちろんオプションによりプロジェクトの細かい設定が可能です。 ※デフォルトで言語はnode.jsが選択されます。(この記事でもnode.jsを使用) 言語の選択 --runtime --runtime [識別子] で言語を選択可能、以下の識別子が利用できます。 名前(言語) → 識別子 Node.js 10(Node.js) → nodejs10.x Node.js 8.10(Node.js) → nodejs8.10 Python 3.6(Python) → python3.6 Python 3.7(Python) → python3.7 Python 2.7(Python) → python2.7 Ruby 2.5(Ruby) → ruby2.5 Java 8(Java) → java8 Go 1.x(Go) → go1.x .NET Core 2.1(C#) → dotnetc