-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtemplate.yaml
169 lines (167 loc) · 5.08 KB
/
template.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: |
Textract and Comprehend Medical demo using AWS API Gateway/Lambda
Resources:
UploadUrl:
Type: AWS::Serverless::Function
Properties:
Handler: org.getmarco.medtextanalyze.functions.SignedUrlForUpload
Runtime: java8
Timeout: 300
MemorySize: 1024
CodeUri: ./build/distributions/medtextanalyze-0.0.1.zip
Environment:
Variables:
MED_UPLOAD_BUCKET: !Ref UploadBucket
MED_AWS_REGION: us-east-1
Events:
UploadUrlGet:
Type: Api
Properties:
Path: /uploadurl
Method: get
UploadUrlOptions:
Type: Api
Properties:
Path: /uploadurl
Method: options
Policies:
- AWSLambdaBasicExecutionRole
- AmazonS3FullAccess
Tags:
Name: uploadurl
Application: medtextanalyze
ImageText:
Type: AWS::Serverless::Function
Properties:
Handler: org.getmarco.medtextanalyze.functions.TextFromImage
Runtime: java8
Timeout: 300
MemorySize: 1024
CodeUri: ./build/distributions/medtextanalyze-0.0.1.zip
Environment:
Variables:
MED_UPLOAD_BUCKET: !Ref UploadBucket
MED_AWS_REGION: us-east-1
Events:
ImageTextPost:
Type: Api
Properties:
Path: /imagetext
Method: post
ImageTextOptions:
Type: Api
Properties:
Path: /imagetext
Method: options
Policies:
- AWSLambdaBasicExecutionRole
- AmazonS3ReadOnlyAccess
- AmazonTextractFullAccess
Tags:
Name: imagetext
Application: medtextanalyze
PdfText:
Type: AWS::Serverless::Function
Properties:
Handler: org.getmarco.medtextanalyze.functions.TextFromPdf
Runtime: java8
Timeout: 300
MemorySize: 1024
CodeUri: ./build/distributions/medtextanalyze-0.0.1.zip
Environment:
Variables:
MED_UPLOAD_BUCKET: !Ref UploadBucket
MED_AWS_REGION: us-east-1
Events:
PdfTextPost:
Type: Api
Properties:
Path: /pdftext
Method: post
PdfTextOptions:
Type: Api
Properties:
Path: /pdftext
Method: options
Policies:
- AWSLambdaBasicExecutionRole
- AmazonS3ReadOnlyAccess
- AmazonTextractFullAccess
Tags:
Name: pdftext
Application: medtextanalyze
TextEntities:
Type: AWS::Serverless::Function
Properties:
Handler: org.getmarco.medtextanalyze.functions.EntitiesFromText
Runtime: java8
Timeout: 300
MemorySize: 1024
CodeUri: ./build/distributions/medtextanalyze-0.0.1.zip
Environment:
Variables:
MED_UPLOAD_BUCKET: !Ref UploadBucket
MED_AWS_REGION: us-east-1
Events:
TextEntitiesPost:
Type: Api
Properties:
Path: /textentities
Method: post
TextEntitiesOptions:
Type: Api
Properties:
Path: /textentities
Method: options
Policies:
- AWSLambdaBasicExecutionRole
- AmazonS3ReadOnlyAccess
- ComprehendFullAccess
- ComprehendMedicalFullAccess
Tags:
Name: textentities
Application: medtextanalyze
UploadBucket:
Type: AWS::S3::Bucket
Properties:
LifecycleConfiguration:
Rules:
- Id: DeleteContentAfter1Day
Prefix: ''
Status: Enabled
ExpirationInDays: 1
- Id: CleanupMultipartUploads
Prefix: ''
Status: Enabled
AbortIncompleteMultipartUpload:
DaysAfterInitiation: 1
Outputs:
UploadUrl:
Description: "Lambda function ARN for Upload Url"
Value: !GetAtt UploadUrl.Arn
UploadUrlApi:
Description: "API Gateway endpoint URL for signed upload url for bucket"
Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/uploadurl"
ImageText:
Description: "Lambda function ARN for Image Text"
Value: !GetAtt ImageText.Arn
ImageTextApi:
Description: "API Gateway endpoint URL for getting text from an image"
Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/imagetext"
PdfText:
Description: "Lambda function ARN for Pdf Text"
Value: !GetAtt PdfText.Arn
PdfTextApi:
Description: "API Gateway endpoint URL for getting text from a pdf"
Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/pdftext"
TextEntities:
Description: "Lambda function ARN for Text Entities"
Value: !GetAtt ImageText.Arn
TextEntitiesApi:
Description: "API Gateway endpoint URL for getting entities from text"
Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/textentities"
UploadBucket:
Description: "S3 bucket used to store uploaded files for processing"
Value: !Ref UploadBucket