@comicrelief/lambda-wrapper 2.1.0 → 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.
|
@@ -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
|
|
@@ -368,21 +369,42 @@ class SQSService extends DependencyAwareClass_1.default {
|
|
|
368
369
|
+ 'the sqs.queueConsumers key in your Lambda Wrapper config.');
|
|
369
370
|
}
|
|
370
371
|
const prefix = this.di.getLambdaPrefix();
|
|
371
|
-
const
|
|
372
|
+
const fullFunctionName = shortOrLongFunctionName.startsWith(prefix)
|
|
372
373
|
? shortOrLongFunctionName
|
|
373
374
|
: `${prefix}${shortOrLongFunctionName}`;
|
|
374
|
-
const
|
|
375
|
-
const
|
|
375
|
+
const body = messageParameters.MessageBody || '';
|
|
376
|
+
const region = process.env.AWS_REGION || 'eu-west-1';
|
|
377
|
+
const timestamp = Date.now().toString();
|
|
378
|
+
const event = {
|
|
376
379
|
Records: [
|
|
377
380
|
{
|
|
378
|
-
|
|
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,
|
|
379
395
|
},
|
|
380
396
|
],
|
|
381
|
-
}
|
|
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
|
+
}
|
|
382
404
|
await this.lambda.send(new client_lambda_1.InvokeCommand({
|
|
383
|
-
FunctionName,
|
|
384
|
-
InvocationType,
|
|
385
|
-
Payload,
|
|
405
|
+
FunctionName: fullFunctionName,
|
|
406
|
+
InvocationType: 'RequestResponse',
|
|
407
|
+
Payload: JSON.stringify(event),
|
|
386
408
|
}));
|
|
387
409
|
}
|
|
388
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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"}
|