Skip to content

Commit f5cd1f5

Browse files
committed
Added executable download and serverless config.
1 parent 04323ad commit f5cd1f5

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

serverless/serverless.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
service: hyperflow-awslambda-java-executor
2+
3+
provider:
4+
name: aws
5+
runtime: java8
6+
region: eu-west-1
7+
memorySize: 512
8+
timeout: 60
9+
iamRoleStatements:
10+
- Effect: "Allow"
11+
Action:
12+
- "s3:PutObject"
13+
- "s3:GetObject"
14+
Resource: "arn:aws:s3:::burkat/*"
15+
16+
package:
17+
artifact: workflow-java-handler-1.0-SNAPSHOT.jar
18+
19+
functions:
20+
executor:
21+
handler: Handler::handleRequest
22+
23+
events:
24+
- http:
25+
path: executor
26+
method: get
27+
- http:
28+
path: executor
29+
method: post

src/main/java/Handler.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public Response handleRequest(Request request, Context context) {
2929
logger.log("prefix: " + request.getOptions().get(PREFIX_KEY));
3030

3131
downloadData(request, logger);
32+
downloadExecutable(request, logger);
3233
execute(request.getExecutable(), String.join(" ", request.getArgs()), logger);
3334
uploadData(request, logger);
3435
} catch (Exception e) {
@@ -93,4 +94,11 @@ private Response handleException(Exception e, Request request) {
9394
return response;
9495
}
9596

97+
private void downloadExecutable(Request request, LambdaLogger logger) throws IOException {
98+
logger.log("Downloading executable" + request.getExecutable());
99+
String key = request.getOptions().get(PREFIX_KEY) + "/" + request.getExecutable();
100+
S3Object s3Object = S3Utils.getObject(request.getOptions().get(BUCKET_KEY), key);
101+
S3Utils.saveToFile(s3Object, FOLDER_PATH + request.getExecutable());
102+
}
103+
96104
}

0 commit comments

Comments
 (0)