@comicrelief/lambda-wrapper 2.0.3 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/DependencyInjection.d.ts +19 -0
- package/dist/core/DependencyInjection.d.ts.map +1 -1
- package/dist/core/DependencyInjection.js +32 -0
- package/dist/core/DependencyInjection.js.map +1 -1
- package/dist/services/SQSService.d.ts +1 -0
- package/dist/services/SQSService.d.ts.map +1 -1
- package/dist/services/SQSService.js +37 -11
- package/dist/services/SQSService.js.map +1 -1
- package/package.json +1 -1
|
@@ -57,6 +57,25 @@ export default class DependencyInjection<TConfig extends LambdaWrapperConfig = a
|
|
|
57
57
|
* somewhere else! Any ideas?
|
|
58
58
|
*/
|
|
59
59
|
get isOffline(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Get the `service-stage-` prefix added by Serverless to deployed Lambda
|
|
62
|
+
* function names. This is handy when you want to invoke other functions,
|
|
63
|
+
* without having to hardcode the service name and stage.
|
|
64
|
+
*
|
|
65
|
+
* The returned prefix includes a trailing dash. To get the deployed name of
|
|
66
|
+
* another Lambda function, concatenate its serverless function name (its key
|
|
67
|
+
* in `serverless.yml`) onto the prefix:
|
|
68
|
+
*
|
|
69
|
+
* ```js
|
|
70
|
+
* const serverlessFunctionName = 'MyFunction';
|
|
71
|
+
* const deployedName = `${di.getLambdaPrefix()}${serverlessFunctionName}`;
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* This function relies on looking at the currently running Lambda function's
|
|
75
|
+
* resource name. It will not work correctly if the Lambda function has been
|
|
76
|
+
* given a custom resource name.
|
|
77
|
+
*/
|
|
78
|
+
getLambdaPrefix(): string;
|
|
60
79
|
}
|
|
61
80
|
export {};
|
|
62
81
|
//# sourceMappingURL=DependencyInjection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyInjection.d.ts","sourceRoot":"","sources":["../../src/core/DependencyInjection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,KAAK,KAAK,CAAC,SAAS,EAAE,OAAO,SAAS,mBAAmB,IAAI,KAAK,EAAE,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;AAEjH;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB,CAAC,OAAO,SAAS,mBAAmB,GAAG,GAAG;IAY9E,QAAQ,CAAC,MAAM,EAAE,OAAO;IACxB,QAAQ,CAAC,KAAK,EAAE,GAAG;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO;IAb3B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAE5D;;OAEG;IACH,OAAO,CAAC,cAAc,CAAQ;gBAGnB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,OAAO;IAyC3B;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,oBAAoB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IAsBrE;;;;OAIG;IACH,QAAQ;IAIR;;;;OAIG;IACH,UAAU;IAIV;;;;OAIG;IACH,gBAAgB;IAIhB;;;;;;;;;;OAUG;IACH,IAAI,SAAS,IAAI,OAAO,CAIvB;
|
|
1
|
+
{"version":3,"file":"DependencyInjection.d.ts","sourceRoot":"","sources":["../../src/core/DependencyInjection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,KAAK,KAAK,CAAC,SAAS,EAAE,OAAO,SAAS,mBAAmB,IAAI,KAAK,EAAE,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;AAEjH;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB,CAAC,OAAO,SAAS,mBAAmB,GAAG,GAAG;IAY9E,QAAQ,CAAC,MAAM,EAAE,OAAO;IACxB,QAAQ,CAAC,KAAK,EAAE,GAAG;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO;IAb3B;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAE5D;;OAEG;IACH,OAAO,CAAC,cAAc,CAAQ;gBAGnB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,OAAO;IAyC3B;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,oBAAoB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IAsBrE;;;;OAIG;IACH,QAAQ;IAIR;;;;OAIG;IACH,UAAU;IAIV;;;;OAIG;IACH,gBAAgB;IAIhB;;;;;;;;;;OAUG;IACH,IAAI,SAAS,IAAI,OAAO,CAIvB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,IAAI,MAAM;CAgB1B"}
|
|
@@ -100,6 +100,38 @@ class DependencyInjection {
|
|
|
100
100
|
|| this.context.invokedFunctionArn.includes('offline')
|
|
101
101
|
|| !!process.env.USE_SERVERLESS_OFFLINE;
|
|
102
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Get the `service-stage-` prefix added by Serverless to deployed Lambda
|
|
105
|
+
* function names. This is handy when you want to invoke other functions,
|
|
106
|
+
* without having to hardcode the service name and stage.
|
|
107
|
+
*
|
|
108
|
+
* The returned prefix includes a trailing dash. To get the deployed name of
|
|
109
|
+
* another Lambda function, concatenate its serverless function name (its key
|
|
110
|
+
* in `serverless.yml`) onto the prefix:
|
|
111
|
+
*
|
|
112
|
+
* ```js
|
|
113
|
+
* const serverlessFunctionName = 'MyFunction';
|
|
114
|
+
* const deployedName = `${di.getLambdaPrefix()}${serverlessFunctionName}`;
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* This function relies on looking at the currently running Lambda function's
|
|
118
|
+
* resource name. It will not work correctly if the Lambda function has been
|
|
119
|
+
* given a custom resource name.
|
|
120
|
+
*/
|
|
121
|
+
getLambdaPrefix() {
|
|
122
|
+
const stage = process.env.STAGE;
|
|
123
|
+
if (!stage) {
|
|
124
|
+
/* eslint-disable no-template-curly-in-string */
|
|
125
|
+
throw new Error('STAGE is not set\n\n'
|
|
126
|
+
+ 'Please add to your Lambda environment:\n\n'
|
|
127
|
+
+ ' STAGE: ${sls:stage}\n');
|
|
128
|
+
}
|
|
129
|
+
if (!this.context.functionName) {
|
|
130
|
+
throw new Error('Lambda function name is unavailable in context');
|
|
131
|
+
}
|
|
132
|
+
const [service] = this.context.functionName.split(`-${stage}-`);
|
|
133
|
+
return `${service}-${stage}-`;
|
|
134
|
+
}
|
|
103
135
|
}
|
|
104
136
|
exports.default = DependencyInjection;
|
|
105
137
|
//# sourceMappingURL=DependencyInjection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyInjection.js","sourceRoot":"","sources":["../../src/core/DependencyInjection.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DependencyInjection.js","sourceRoot":"","sources":["../../src/core/DependencyInjection.ts"],"names":[],"mappings":"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"}
|
|
@@ -194,6 +194,7 @@ export default class SQSService<TConfig extends LambdaWrapperConfig & WithSQSSer
|
|
|
194
194
|
readonly queueUrls: Record<QueueName<TConfig>, string>;
|
|
195
195
|
private $sqs?;
|
|
196
196
|
private $lambda?;
|
|
197
|
+
private accountId?;
|
|
197
198
|
constructor(di: DependencyInjection<TConfig>);
|
|
198
199
|
/**
|
|
199
200
|
* Returns an SQS client instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQSService.d.ts","sourceRoot":"","sources":["../../src/services/SQSService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SQSService.d.ts","sourceRoot":"","sources":["../../src/services/SQSService.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SQS_PUBLISH_FAILURE_MODES = exports.SQS_OFFLINE_MODES = void 0;
|
|
7
|
+
const crypto_1 = require("crypto");
|
|
7
8
|
const client_lambda_1 = require("@aws-sdk/client-lambda");
|
|
8
9
|
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
9
10
|
const node_http_handler_1 = require("@smithy/node-http-handler");
|
|
@@ -153,7 +154,7 @@ class SQSService extends DependencyAwareClass_1.default {
|
|
|
153
154
|
this.queues = config?.queues || {};
|
|
154
155
|
this.queueConsumers = config?.queueConsumers || {};
|
|
155
156
|
const { LAMBDA_WRAPPER_OFFLINE_SQS_HOST: offlineHost = 'localhost', LAMBDA_WRAPPER_OFFLINE_SQS_PORT: offlinePort = '4576', LAMBDA_WRAPPER_OFFLINE_SQS_MODE: offlineMode = exports.SQS_OFFLINE_MODES.DIRECT, AWS_ACCOUNT_ID, REGION, } = process.env;
|
|
156
|
-
|
|
157
|
+
this.accountId = (di.context.invokedFunctionArn && alai_1.default.parse(di.context))
|
|
157
158
|
|| AWS_ACCOUNT_ID;
|
|
158
159
|
if (di.isOffline && !Object.values(exports.SQS_OFFLINE_MODES).includes(offlineMode)) {
|
|
159
160
|
throw new Error(`Invalid LAMBDA_WRAPPER_OFFLINE_SQS_MODE: ${offlineMode}\n`
|
|
@@ -162,7 +163,7 @@ class SQSService extends DependencyAwareClass_1.default {
|
|
|
162
163
|
const useLocalQueues = di.isOffline && offlineMode === exports.SQS_OFFLINE_MODES.LOCAL;
|
|
163
164
|
this.queueUrls = Object.fromEntries(Object.entries(this.queues).map((([key, queueName]) => [key, useLocalQueues
|
|
164
165
|
? `http://${offlineHost}:${offlinePort}/queue/${queueName}`
|
|
165
|
-
: `https://sqs.${REGION}.amazonaws.com/${accountId}/${queueName}`])));
|
|
166
|
+
: `https://sqs.${REGION}.amazonaws.com/${this.accountId}/${queueName}`])));
|
|
166
167
|
}
|
|
167
168
|
/**
|
|
168
169
|
* Returns an SQS client instance
|
|
@@ -362,23 +363,48 @@ class SQSService extends DependencyAwareClass_1.default {
|
|
|
362
363
|
if (!this.di.isOffline) {
|
|
363
364
|
throw new Error('Can only publishOffline while running serverless offline.');
|
|
364
365
|
}
|
|
365
|
-
const
|
|
366
|
-
if (!
|
|
366
|
+
const shortOrLongFunctionName = this.queueConsumers[queue];
|
|
367
|
+
if (!shortOrLongFunctionName) {
|
|
367
368
|
throw new Error(`Queue consumer for queue ${queue} was not found. Please add it to `
|
|
368
369
|
+ 'the sqs.queueConsumers key in your Lambda Wrapper config.');
|
|
369
370
|
}
|
|
370
|
-
const
|
|
371
|
-
const
|
|
371
|
+
const prefix = this.di.getLambdaPrefix();
|
|
372
|
+
const fullFunctionName = shortOrLongFunctionName.startsWith(prefix)
|
|
373
|
+
? shortOrLongFunctionName
|
|
374
|
+
: `${prefix}${shortOrLongFunctionName}`;
|
|
375
|
+
const body = messageParameters.MessageBody || '';
|
|
376
|
+
const region = process.env.AWS_REGION || 'eu-west-1';
|
|
377
|
+
const timestamp = Date.now().toString();
|
|
378
|
+
const event = {
|
|
372
379
|
Records: [
|
|
373
380
|
{
|
|
374
|
-
|
|
381
|
+
messageId: (0, uuid_1.v4)(),
|
|
382
|
+
receiptHandle: 'test',
|
|
383
|
+
body,
|
|
384
|
+
attributes: {
|
|
385
|
+
ApproximateReceiveCount: '1',
|
|
386
|
+
SentTimestamp: timestamp,
|
|
387
|
+
SenderId: process.env.AWS_ACCESS_KEY_ID || '',
|
|
388
|
+
ApproximateFirstReceiveTimestamp: timestamp,
|
|
389
|
+
},
|
|
390
|
+
messageAttributes: {},
|
|
391
|
+
md5OfBody: (0, crypto_1.createHash)('md5').update(body).digest('hex'),
|
|
392
|
+
eventSource: 'aws:sqs',
|
|
393
|
+
eventSourceARN: `arn:aws:sqs:${region}:${this.accountId}:${this.queues[queue]}`,
|
|
394
|
+
awsRegion: region,
|
|
375
395
|
},
|
|
376
396
|
],
|
|
377
|
-
}
|
|
397
|
+
};
|
|
398
|
+
if (messageParameters.MessageGroupId) {
|
|
399
|
+
const attributes = event.Records[0].attributes;
|
|
400
|
+
attributes.SequenceNumber = '0';
|
|
401
|
+
attributes.MessageGroupId = messageParameters.MessageGroupId;
|
|
402
|
+
attributes.MessageDeduplicationId = messageParameters.MessageDeduplicationId;
|
|
403
|
+
}
|
|
378
404
|
await this.lambda.send(new client_lambda_1.InvokeCommand({
|
|
379
|
-
FunctionName,
|
|
380
|
-
InvocationType,
|
|
381
|
-
Payload,
|
|
405
|
+
FunctionName: fullFunctionName,
|
|
406
|
+
InvocationType: 'RequestResponse',
|
|
407
|
+
Payload: JSON.stringify(event),
|
|
382
408
|
}));
|
|
383
409
|
}
|
|
384
410
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQSService.js","sourceRoot":"","sources":["../../src/services/SQSService.ts"],"names":[],"mappings":";;;;;;AAAA,0DAGgC;AAChC,oDAQ6B;AAC7B,iEAA4D;AAC5D,gDAAwB;
|
|
1
|
+
{"version":3,"file":"SQSService.js","sourceRoot":"","sources":["../../src/services/SQSService.ts"],"names":[],"mappings":"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"}
|