Sie können dies sofort mit Serverless Framework Serverless mit AWS tun (API + Lambda [Java] ist einfach einzurichten).

Einführung

Umgebung einrichten

Serverless Framework

Installieren Sie Serverless Framework

$ node -v
v5.12.0
$ npm install -g serverless
$ serverless —version
1.5.1

AWS CLI-Setup

$ pip install awscli
$ aws configure
AWS Access Key ID [None]:(Access Key)
AWS Secret Access Key [None]:(Secret Key)
Default region name [None]: ap-northeast-1
Default output format [None]:json

Bereitstellung mit Serverless Framework

Service erstellen

$ serverless create --template aws-java-maven --path myService
・
・
Serverless: Successfully generated boilerplate for template: "aws-java-maven"
Serverless: NOTE: Please update the "service" property in serverless.yml with your service name

In STS importieren (Eclipse)

Ändern Sie serverless.yml + Build

serverless.yml


provider:
  name: aws
  runtime: java8
  stage: prod
  region: ap-northeast-1

Stellen Sie Teil 1 bereit (nur Lambda)

$ cd myService
$ serverless deploy -v
Serverless: Uploading CloudFormation file to S3...
Serverless: Uploading service .zip file to S3 (1.98 MB)...
Serverless: Updating Stack...
Serverless: Checking Stack update progress...
CloudFormation - UPDATE_IN_PROGRESS - AWS::CloudFormation::Stack - aws-java-maven-prod
・
・
Serverless: Stack update finished...
Service Information
service: aws-java-maven
stage: prod
region: ap-northeast-1
api keys:
  None
endpoints:
  None
functions:
  aws-java-maven-prod-hello: arn:XXXXXXXX
$ echo '{"key1":"value1","key2":"value2","key3":"value3"}' > event.json
$ serverless invoke --function hello -p event.json
{
    "statusCode": 200,
    "body": "{\"message\":\"Go Serverless v1.x! Your function executed successfully!\",\"input\":{\"key1\":\"value1\",\"key2\":\"value2\",\"key3\":\"value3\"}}",
    "headers": {
        "X-Powered-By": "AWS Lambda & serverless"
    },
    "isBase64Encoded": false
}

Stellen Sie Teil 2 bereit (API Gateway + Lambda)

serverless.yml


functions:
  hello:
    handler: com.serverless.Handler
    events:
      - http:
          path: users/create
          method: get
$ serverless deploy -v
Serverless: Uploading CloudFormation file to S3...
Serverless: Uploading service .zip file to S3 (1.98 MB)...
Serverless: Updating Stack...
Serverless: Checking Stack update progress...
CloudFormation - UPDATE_IN_PROGRESS - AWS::CloudFormation::Stack - aws-java-maven-prod
・
・
Service Information
service: aws-java-maven
stage: prod
region: ap-northeast-1
api keys:
  None
endpoints:
  GET - https://XXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/prod/users/create
functions:
  aws-java-maven-prod-hello: arn:XXXXXXXX
$ curl https://XXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/prod/users/create
{"message":"Go Serverless v1.x! Your function executed successfully!","input":{"resource":"/users/create","path":"/users/create","httpMethod":"GET","headers":{"Accept":"*/*","CloudFront-Forwarded-Proto":"https","CloudFront-Is-Desktop-Viewer":"true","CloudFront-Is-Mobile-Viewer":
・
・

Stapel löschen

$ serverless remove
Serverless: Getting all objects in S3 bucket...
Serverless: Removing objects in S3 bucket...
Serverless: Removing Stack...
Serverless: Checking Stack removal progress...
.....................
Serverless: Stack removal finished...

Zusammenfassung

Recommended Posts

Sie können dies sofort mit Serverless Framework Serverless mit AWS tun (API + Lambda [Java] ist einfach einzurichten).
So stellen Sie Java mit Serverless Framework für AWS Lambda bereit
Hinweise zur Vorgehensweise bei der Einrichtung von EC2 mit t2.micro
Verwendung des Java-Frameworks mit AWS Lambda! ??
Ist Java unter AWS Lambda langsam?
Mit [AWS] CodeStar können Sie ein Spring (Java) -Projekt erstellen, das auf Lambda in nur 3 Minuten ausgeführt wird! !!
Kannst du es machen? Java EE
[Auch Anfänger können es schaffen! ] So erstellen Sie eine Java-Umgebung unter Windows 10 (JDK14.0.1)
Verwendung der Java-API mit Lambda-Ausdrücken
[Auch Anfänger können es schaffen! ] So installieren Sie Eclipse unter Windows 10 (Java-Umgebungskonstruktion)
Ich möchte die API mit Rails auf mehreren lokal eingerichteten Docker-Composes treffen
Sie können es mit Kopie tun! Aspektorientierte Programmierung (Android)
Serverless Framework-Vorlage zum Planen des EC2-Starts / Stopps in Lambda
Veröffentlichen Sie regelmäßig Bild-Tweets auf Twitter mit AWS Lambda + Java
Erstellen Sie einen SlackBot mit AWS Lambda & API Gateway in Java
Als ich versuchte, das AWS SDK mit Ruby + Lambda zu verwenden, war "sam local" durcheinander.