-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserverless.yml
91 lines (81 loc) · 2.23 KB
/
serverless.yml
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
service: sqs-sns-nodejs-aws
frameworkVersion: "3"
provider:
name: aws
runtime: nodejs18.x
stage: dev
region: us-east-1
memorySize: 512
timeout: 10
environment: ${file(serverless_ssm.yml)}
apiGateway:
apiKeys:
- name : xApiKey
value : ${file(./serverless_ssm.yml):X_API_KEY}
plugins:
- serverless-offline-sqs
- serverless-offline
functions:
SnsSubscribeSqs:
handler: handler.snsSubscribeSQS
name: Sns-Subscribe-Sqs-Lambda
description: to subscribe sqs queue
events:
- http:
method: POST
path: subscribe-sqs-queue
private: true
QueueSendMessage:
handler: handler.sendMessage
name: Queue-SendMessage-Lambda
description: to send sqs message
events:
- http:
method: POST
path: sender-queue
private: true
QueueReceiveMessage:
handler: handler.receiveMessage
name: Queue-ReceiveMessage-Lambda
description: to receive sqs message
events:
- sqs:
arn:
Fn::GetAtt:
- myFirstQueue
- Arn
batchSize: 10
custom :
serverless-offline:
httpPort: ${file(./serverless_ssm.yml):SERVERLESS_HTTP_PORT}
lambdaPort: ${file(./serverless_ssm.yml):SERVERLESS_LAMBDA_PORT}
serverless-offline-sqs:
sqsHost: ${file(./serverless_ssm.yml):SQS_HOST}
sqsPort: ${file(./serverless_ssm.yml):SQS_PORT}
autoCreate: false
apiVersion: ${file(./serverless_ssm.yml):SQS_API_VERSION}
endpoint: ${file(./serverless_ssm.yml):SQS_URL}
region: ${file(./serverless_ssm.yml):AWS_REGION}
accessKeyId: ${file(./serverless_ssm.yml):AWS_ACCESS_KEY_RANDOM_VALUE}
secretAccessKey: ${file(./serverless_ssm.yml):AWS_SECRET_KEY_RANDOM_VALUE}
skipCacheInvalidation: false
serverless-offline-ssm:
stages:
- dev
ssm:
${file(./serverless_ssm.yml)}
resources:
Resources:
myFirstQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: my-first-queue.fifo
MessageRetentionPeriod: 120
VisibilityTimeout: 30
FifoQueue: true
RedrivePolicy:
deadLetterTargetArn:
Fn::GetAtt:
- myFirstQueue
- Arn
maxReceiveCount: 3