11
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EclipseでLambda開発環境の構築

Last updated at Posted at 2018-02-05

AWSを利用してから開発環境を毎度ノートPCに構築しないで、JAVA、C#、Python等言語ごとにEC2インスタンスを作って、開発環境を構築。
使い終わったら、AMI取ってsnapshotで保存し、インスタンスを削除するようにすれば、低維持費で環境を維持できます。

でPythonの環境を作ったが、今度はJAVAの開発環境を作ります。

##環境

  • Windows Server 2012 (EC2利用)
  • Eclipse 4.7 Oxygen(IDE、 Pleiades All in Oneを利用)
  • AWS Toolkit for Eclipse(プラグイン、デバッグ・デプロイ等AWSのJAVA開発を楽にするツール)

##Pleiades All in Oneインストール
まずダウンロードは以下のリンクから
http://mergedoc.osdn.jp/index.html#/pleiades_distros4.7.html
JDKも必要なのため、Windows 64bit のFull EditionをDownload

ダウンロード後、インストールします。インストーラーの形式ではないので、.zipを右クリックして、「すべて展開」をクリックし、適切の場所に展開すればよいだけです。
pleiades.png
eclipseフォルダに移動し、eclipse.exeをダブルクリックして起動します。workspaceディレクトリが聞かれますので、デフォルトの場所で作ります。
workspace.png

##AWS Toolkit for Eclipseインストール
Eclipseを開き、[Help] -> [Install New Software] をクリックします。[Work with] ボックスで、[https://aws.amazon.com/eclipse] と入力し、Enter キーを押します。
awstoolskit.png
AWS Toolkit for Eclipse Coreだけ必須なので、とりあえずインストールします。
また、今回Lambdaへのデプロイもしたいので、AWS Lambda Pluginもインストール。lambdaplugin.png

reboot.png
インストール完了後、Eclipseが再起動されます。
notice.png
メニューにAWSのアイコンが新規追加され、AWS Java プロジェクトが作成できます。
aws.png

##AWS Lambda Java プロジェクトの作成
新規AWS Lambda Java プロジェクトをクリックしますと、ポップアップが表示されます。
image1.png

sample-lambda-javaというプロジェクト名を入れると、作成が可能です。
入力タイプにLambdaを呼び出すトリガーのサービスがリストアップされますが、ここでCustomを選択します。

##AWS Lambda Java プロジェクトの構成
プロジェクトを開き、構成として、左上がパッケージ・クラス・JREライブラリ等プログラム資材がリストアップされます。
AWSのアイコンのメニューから[AWS エクスプロラー・ビューの表示]をクリックすると、左下のようになAWS 各関連するサービス一覧が表示されます。展開すると、中で作成されているものも見れます。
image2.png

また、右側に[com.amazonaws.smaples]パッケージ内にあるS3Sample.javaを開いたプログラムとなります。

##AWS Lambda Java プロジェクト実行
これでコーディングが開始できます。いつくWrapperクラスを作って、ローカル動かしたいと思いますが、
Elipseの実行構成で、AWS SAM Local sample-lambda-javaと実行構成を新規作成しました。
SAM Template、Eventファイルを一通り用意しましたが、「Property SAM runtime does not contain a valid file!」エラーが表示され、無理やり実行したらエラーが表示されました。
run1.png

run2.png

Serverless template fileは以下の感じで作っています。

sample-lambda-java.yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Description: An AWS Serverless Specification template describing your function.
Resources:
  samplelambdajava:
    Type: 'AWS::Serverless::Function'
    Properties:
      Handler: com.amazonaws.lambda.demo.LambdaFunctionHandler
      Runtime: java8
      Description: ''
      MemorySize: 512
      Timeout: 15
      Role: 'arn:aws:iam::xxxxxxxxxxxx:role/lambda_access_execution'

error1.png

SAM Localの環境が必要ということですね。

を参考に、SAM Local環境構築に取り組んだら、Dockerの起動でくじけました。
EC2(仮想環境)にさらに仮想環境(Windows: Docker Toolbox)を起動すると、エラーになります。
error2.png
BIOSはいじれないので、断念しました。

##AWS Lambda Java プロジェクトアップロード
ローカルで動かせないなら、アップロードして、Console上で実行すればよいですね。
uploadfunction.png
Upload function to AWS Lambdaをクリックし、アップロードします。
uploadwindow1.png
マネジメントコンソールでテストイベントを作って、「Test」クリック
image3.png

無事成功しました。

11
12
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?