@mbc-cqrs-serverless/import 1.2.0 → 1.2.2

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.
Files changed (30) hide show
  1. package/dist/constant/sqs.constant.d.ts +20 -0
  2. package/dist/constant/sqs.constant.js +12 -0
  3. package/dist/constant/sqs.constant.js.map +1 -0
  4. package/dist/event/csv-import.queue.event.handler.js +8 -2
  5. package/dist/event/csv-import.queue.event.handler.js.map +1 -1
  6. package/dist/event/csv-import.sfn.event.d.ts +17 -6
  7. package/dist/event/csv-import.sfn.event.handler.d.ts +6 -13
  8. package/dist/event/csv-import.sfn.event.handler.js +237 -85
  9. package/dist/event/csv-import.sfn.event.handler.js.map +1 -1
  10. package/dist/event/csv-import.sfn.event.js.map +1 -1
  11. package/dist/event/import.event.handler.d.ts +5 -3
  12. package/dist/event/import.event.handler.js +11 -6
  13. package/dist/event/import.event.handler.js.map +1 -1
  14. package/dist/event/import.queue.event.d.ts +3 -0
  15. package/dist/event/import.queue.event.handler.d.ts +6 -23
  16. package/dist/event/import.queue.event.handler.js +15 -139
  17. package/dist/event/import.queue.event.handler.js.map +1 -1
  18. package/dist/event/import.queue.event.js +25 -4
  19. package/dist/event/import.queue.event.js.map +1 -1
  20. package/dist/event/processor/csv-batch.processor.d.ts +10 -0
  21. package/dist/event/processor/csv-batch.processor.js +66 -0
  22. package/dist/event/processor/csv-batch.processor.js.map +1 -0
  23. package/dist/event/processor/single-import.processor.d.ts +12 -0
  24. package/dist/event/processor/single-import.processor.js +132 -0
  25. package/dist/event/processor/single-import.processor.js.map +1 -0
  26. package/dist/event/zip-import.queue.event.handler.js +9 -2
  27. package/dist/event/zip-import.queue.event.handler.js.map +1 -1
  28. package/dist/import.module.js +4 -0
  29. package/dist/import.module.js.map +1 -1
  30. package/package.json +7 -3
@@ -0,0 +1,20 @@
1
+ import { ImportEvent } from '../event/import.event';
2
+ export declare const ACTION_CSV_BATCH_PROCESS = "csv-batch-process";
3
+ export declare const ACTION_SINGLE_IMPORT_PROCESS = "single-import-process";
4
+ /** SQS hard limits */
5
+ export declare const SQS_MAX_BATCH_SIZE = 10;
6
+ export declare const SQS_MAX_MESSAGE_BYTES: number;
7
+ export declare const SQS_MESSAGE_BYTE_OVERHEAD = 1024;
8
+ export declare const SQS_SAFE_BODY_BYTES: number;
9
+ export declare const SQS_PAYLOAD_ENVELOPE_BYTES = 300;
10
+ export interface SqsBatchPayload {
11
+ action: string;
12
+ tableName: string;
13
+ tenantCode: string;
14
+ sourceId: string;
15
+ s3Key: string;
16
+ items: any[];
17
+ }
18
+ export interface SqsSinglePayload extends ImportEvent {
19
+ action: string;
20
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQS_PAYLOAD_ENVELOPE_BYTES = exports.SQS_SAFE_BODY_BYTES = exports.SQS_MESSAGE_BYTE_OVERHEAD = exports.SQS_MAX_MESSAGE_BYTES = exports.SQS_MAX_BATCH_SIZE = exports.ACTION_SINGLE_IMPORT_PROCESS = exports.ACTION_CSV_BATCH_PROCESS = void 0;
4
+ exports.ACTION_CSV_BATCH_PROCESS = 'csv-batch-process';
5
+ exports.ACTION_SINGLE_IMPORT_PROCESS = 'single-import-process';
6
+ /** SQS hard limits */
7
+ exports.SQS_MAX_BATCH_SIZE = 10;
8
+ exports.SQS_MAX_MESSAGE_BYTES = 256 * 1024;
9
+ exports.SQS_MESSAGE_BYTE_OVERHEAD = 1024;
10
+ exports.SQS_SAFE_BODY_BYTES = exports.SQS_MAX_MESSAGE_BYTES - exports.SQS_MESSAGE_BYTE_OVERHEAD;
11
+ exports.SQS_PAYLOAD_ENVELOPE_BYTES = 300;
12
+ //# sourceMappingURL=sqs.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqs.constant.js","sourceRoot":"","sources":["../../src/constant/sqs.constant.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAG,mBAAmB,CAAA;AAC9C,QAAA,4BAA4B,GAAG,uBAAuB,CAAA;AAEnE,sBAAsB;AACT,QAAA,kBAAkB,GAAG,EAAE,CAAA;AACvB,QAAA,qBAAqB,GAAG,GAAG,GAAG,IAAI,CAAA;AAClC,QAAA,yBAAyB,GAAG,IAAI,CAAA;AAChC,QAAA,mBAAmB,GAC9B,6BAAqB,GAAG,iCAAyB,CAAA;AACtC,QAAA,0BAA0B,GAAG,GAAG,CAAA"}
@@ -33,9 +33,15 @@ let CsvImportQueueEventHandler = CsvImportQueueEventHandler_1 = class CsvImportQ
33
33
  this.csvImportArn = this.configService.get('SFN_IMPORT_CSV_ARN');
34
34
  }
35
35
  async execute(event) {
36
- const importEntity = event.importEvent.importEntity;
37
- // This handler ONLY acts on master csv jobs and ignores all other event types.
36
+ if (event.isCsvBatch) {
37
+ this.logger.debug('Skipping batch processing payload in CsvImportQueueEventHandler');
38
+ return;
39
+ }
40
+ const importEntity = event.importEvent?.importEntity;
41
+ if (!importEntity)
42
+ return;
38
43
  if (!importEntity.id.startsWith(`${constant_1.CSV_IMPORT_PK_PREFIX}${core_1.KEY_SEPARATOR}`)) {
44
+ this.logger.debug(`Skipping other type import job in csv queue handler: ${importEntity.id}`);
39
45
  return;
40
46
  }
41
47
  const importKey = event.importEvent.importKey;
@@ -1 +1 @@
1
- {"version":3,"file":"csv-import.queue.event.handler.js","sourceRoot":"","sources":["../../src/event/csv-import.queue.event.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA8C;AAC9C,oDAKkC;AAClC,2CAA+C;AAC/C,2CAA8C;AAE9C,0CAAkD;AAElD,mEAA6D;AAC7D,0EAAiE;AACjE,sDAAiD;AAEjD,6DAAuD;AAGhD,IAAM,0BAA0B,kCAAhC,MAAM,0BAA0B;IAMrC,YACmB,aAA4B,EAC5B,UAA+B,EAC/B,aAA4B,EAE7C,iBAA0E;QAJzD,kBAAa,GAAb,aAAa,CAAe;QAC5B,eAAU,GAAV,UAAU,CAAqB;QAC/B,kBAAa,GAAb,aAAa,CAAe;QAE5B,sBAAiB,GAAjB,iBAAiB,CAAwC;QAR3D,WAAM,GAAG,IAAI,eAAM,CAAC,4BAA0B,CAAC,IAAI,CAAC,CAAA;QAUnE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,oBAAoB,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAuB;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAA;QAEnD,+EAA+E;QAC/E,IACE,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,+BAAoB,GAAG,oBAAa,EAAE,CAAC,EACtE,CAAC;YACD,OAAM;QACR,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAA;QAC7C,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,GAClC,YAAY,CAAC,UAAgC,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uCAAuC,YAAY,CAAC,EAAE,aAAa,GAAG,EAAE,CACzE,CAAA;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CACnC,SAAS,EACT,qCAAgB,CAAC,UAAU,CAC5B,CAAA;YAED,sDAAsD;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACpD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,4CAA4C,SAAS,EAAE,CAAC,CAAA;YAC1E,CAAC;YAED,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAClC,IAAI,CAAC,YAAY,EACjB;gBACE,GAAG,YAAY,CAAC,UAAU;gBAC1B,QAAQ,EAAE,YAAY,CAAC,EAAE;aAC1B,EACD,GAAG,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAC3C,CAAA;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kDAAkD,YAAY,CAAC,EAAE,EAAE,CACpE,CAAA;YACD,mGAAmG;QACrG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gDAAgD,YAAY,CAAC,EAAE,EAAE,EACjE,KAAK,CACN,CAAA;YACD,qEAAqE;YACrE,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CACnC,SAAS,EACT,qCAAgB,CAAC,MAAM,EACvB;gBACE,KAAK,EAAE;oBACL,OAAO,EAAE,kCAAmC,KAAe,CAAC,OAAO,EAAE;iBACtE;aACF,CACF,CAAA;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF,CAAA;AA5EY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAY,EAAC,qCAAgB,CAAC;IAW1B,WAAA,IAAA,eAAM,EAAC,8CAAmB,CAAC,CAAA;qCAHI,sBAAa;QAChB,0BAAmB;QAChB,8BAAa;QAET,GAAG;GAX9B,0BAA0B,CA4EtC"}
1
+ {"version":3,"file":"csv-import.queue.event.handler.js","sourceRoot":"","sources":["../../src/event/csv-import.queue.event.handler.ts"],"names":[],"mappings":"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"}
@@ -15,15 +15,26 @@ export interface CsvBatchProcessingSummary {
15
15
  export interface CsvFinalizeParentJobMapOutput {
16
16
  readonly processingResults?: readonly CsvBatchProcessingSummary[];
17
17
  }
18
- /**
19
- * Payload for the `finalize_parent_job` state after Distributed Map.
20
- * Primary shape: Map `resultPath: '$.processingResults'` (see infra stack).
21
- * Alternate: array whose first element is the batch summaries array.
22
- */
23
- export type CsvFinalizeParentJobInput = CsvFinalizeParentJobMapOutput | readonly CsvBatchProcessingSummary[][];
24
18
  export declare class CsvImportSfnEvent implements IEvent {
25
19
  source: string;
26
20
  context: StepFunctionsContext;
27
21
  input: CreateCsvImportDto | ICsvRowImport | CsvFinalizeParentJobInput;
28
22
  constructor(event?: Partial<CsvImportSfnEvent>);
29
23
  }
24
+ export interface SfnResultWriterDetails {
25
+ Bucket: string;
26
+ Key: string;
27
+ }
28
+ export interface SfnErrorOutput {
29
+ Error: string;
30
+ Cause: string;
31
+ }
32
+ export interface CsvFinalizeParentJobInput {
33
+ sourceId: string;
34
+ mapOutput?: {
35
+ MapRunArn: string;
36
+ ResultWriterDetails?: SfnResultWriterDetails;
37
+ };
38
+ processingResults?: CsvBatchProcessingSummary[];
39
+ errorOutput?: SfnErrorOutput;
40
+ }
@@ -1,28 +1,21 @@
1
- import { IEventHandler, S3Service } from '@mbc-cqrs-serverless/core';
1
+ import { IEventHandler, S3Service, SqsService } from '@mbc-cqrs-serverless/core';
2
2
  import { ConfigService } from '@nestjs/config';
3
- import { ImportPublishMode } from '../constant/import-publish';
4
3
  import { ImportService } from '../import.service';
5
- import { IImportStrategy, IProcessStrategy } from '../interface';
4
+ import { IImportStrategy } from '../interface';
6
5
  import { CsvImportSfnEvent } from './csv-import.sfn.event';
7
6
  export declare class CsvImportSfnEventHandler implements IEventHandler<CsvImportSfnEvent> {
8
7
  private readonly importService;
9
8
  private readonly importStrategyMap;
10
9
  private readonly configService;
11
10
  private readonly s3Service;
12
- private readonly processStrategyMap;
13
- private readonly publishModeMap;
11
+ private readonly sqsService;
14
12
  private readonly logger;
15
- private readonly alarmTopicArn;
16
- constructor(importService: ImportService, importStrategyMap: Map<string, IImportStrategy<any, any>>, configService: ConfigService, s3Service: S3Service, processStrategyMap: Map<string, IProcessStrategy<any, any>>, publishModeMap: Map<string, ImportPublishMode>);
13
+ constructor(importService: ImportService, importStrategyMap: Map<string, IImportStrategy<any, any>>, configService: ConfigService, s3Service: S3Service, sqsService: SqsService);
17
14
  execute(event: CsvImportSfnEvent): Promise<any>;
18
15
  handleStepState(event: CsvImportSfnEvent): Promise<any>;
19
16
  private loadCsv;
20
17
  private countCsvRows;
21
- /**
22
- * Normalizes Step Functions payloads: Map merges `processingResults`, or
23
- * legacy shape stores the batch array at index 0.
24
- */
25
- private resolveFinalizeProcessingResults;
26
- private isCsvFinalizeNestedBatchArray;
18
+ private streamToString;
19
+ private getResultsFromS3Writer;
27
20
  private finalizeParentJob;
28
21
  }
@@ -1,10 +1,43 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
2
18
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
19
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
20
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
23
  };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
8
41
  var __metadata = (this && this.__metadata) || function (k, v) {
9
42
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
43
  };
@@ -21,24 +54,25 @@ const client_s3_1 = require("@aws-sdk/client-s3");
21
54
  const core_1 = require("@mbc-cqrs-serverless/core");
22
55
  const common_1 = require("@nestjs/common");
23
56
  const config_1 = require("@nestjs/config");
57
+ const buffer_1 = require("buffer");
58
+ const crypto_1 = require("crypto");
24
59
  const csv_parser_1 = __importDefault(require("csv-parser"));
60
+ const JSONStream = __importStar(require("JSONStream"));
25
61
  const stream_1 = require("stream");
26
- const import_publish_1 = require("../constant/import-publish");
62
+ const sqs_constant_1 = require("../constant/sqs.constant");
27
63
  const enum_1 = require("../enum");
28
64
  const helpers_1 = require("../helpers");
29
65
  const import_module_definition_1 = require("../import.module-definition");
30
66
  const import_service_1 = require("../import.service");
31
67
  const csv_import_sfn_event_1 = require("./csv-import.sfn.event");
32
68
  let CsvImportSfnEventHandler = CsvImportSfnEventHandler_1 = class CsvImportSfnEventHandler {
33
- constructor(importService, importStrategyMap, configService, s3Service, processStrategyMap, publishModeMap) {
69
+ constructor(importService, importStrategyMap, configService, s3Service, sqsService) {
34
70
  this.importService = importService;
35
71
  this.importStrategyMap = importStrategyMap;
36
72
  this.configService = configService;
37
73
  this.s3Service = s3Service;
38
- this.processStrategyMap = processStrategyMap;
39
- this.publishModeMap = publishModeMap;
74
+ this.sqsService = sqsService;
40
75
  this.logger = new common_1.Logger(CsvImportSfnEventHandler_1.name);
41
- this.alarmTopicArn = this.configService.get('SNS_ALARM_TOPIC_ARN');
42
76
  }
43
77
  async execute(event) {
44
78
  try {
@@ -50,101 +84,123 @@ let CsvImportSfnEventHandler = CsvImportSfnEventHandler_1 = class CsvImportSfnEv
50
84
  }
51
85
  }
52
86
  async handleStepState(event) {
53
- this.logger.debug('Processing event:::', JSON.stringify(event, null, 2));
54
87
  if (event.context.State.Name === 'csv_loader') {
55
88
  const input = event.input;
56
- // 1. Get the parent job's key from the sourceId
57
89
  const parentKey = (0, helpers_1.parseId)(input.sourceId);
58
- // 2. Count the total rows in the CSV
59
- this.logger.debug(`Counting rows for file: ${input.key}`);
60
90
  const totalRows = await this.countCsvRows(input);
61
- this.logger.debug(`Found ${totalRows} rows. Updating parent job.`);
62
- // 3. Update the parent job with the total count
63
91
  const updatedEntity = await this.importService.updateImportJob(parentKey, {
64
92
  set: { totalRows },
65
93
  });
66
94
  if (updatedEntity.processedRows >= totalRows) {
67
- this.logger.debug(`Job ${input.sourceId} already finished. Setting final status.`);
68
- // Set status to FAILED if any child job failed, otherwise COMPLETED
69
- // 子ジョブが1つでも失敗していればFAILED、そうでなければCOMPLETED
70
95
  const finalStatus = updatedEntity.failedRows > 0
71
96
  ? enum_1.ImportStatusEnum.FAILED
72
97
  : enum_1.ImportStatusEnum.COMPLETED;
73
98
  await this.importService.updateStatus(parentKey, finalStatus);
74
99
  }
75
- // 4. Proceed to load the first batch of rows as before
76
100
  return this.loadCsv(input);
77
101
  }
78
102
  if (event.context.State.Name === 'finalize_parent_job') {
79
103
  return this.finalizeParentJob(event.input, event.context.Execution.Input.sourceId);
80
104
  }
105
+ // --- ROW PARSER & SQS PACKER ---
81
106
  const input = event.input;
82
107
  const items = input.Items;
83
108
  const attributes = input.BatchInput.Attributes;
84
- const importStrategy = this.importStrategyMap.get(attributes.tableName);
85
- const processStrategy = this.processStrategyMap.get(attributes.tableName);
86
- const publishMode = this.publishModeMap.get(attributes.tableName) ?? import_publish_1.ImportPublishMode.ASYNC;
87
- if (!importStrategy || !processStrategy) {
88
- throw new Error(`Strategies not found for table: ${attributes.tableName}`);
89
- }
109
+ const strategy = this.importStrategyMap.get(attributes.tableName);
110
+ if (!strategy)
111
+ throw new Error(`No import strategy found for table: ${attributes.tableName}`);
90
112
  let succeededRows = 0;
91
113
  let failedRows = 0;
92
- // CommandService publish* requires ICommandOptions.invokeContext; extract from this Lambda invocation.
93
- const invokeContext = (0, core_1.extractInvokeContext)();
94
- const options = {
95
- invokeContext,
96
- source: 'CSV_BATCH_PROCESSOR',
114
+ let currentChunk = [];
115
+ let currentBytes = 2;
116
+ const sqsBatchEntries = [];
117
+ const messageItemCounts = new Map();
118
+ const packChunkToEntry = () => {
119
+ if (currentChunk.length === 0)
120
+ return;
121
+ const payload = {
122
+ action: sqs_constant_1.ACTION_CSV_BATCH_PROCESS,
123
+ tableName: attributes.tableName,
124
+ tenantCode: attributes.tenantCode,
125
+ sourceId: attributes.sourceId,
126
+ s3Key: attributes.key,
127
+ items: currentChunk,
128
+ };
129
+ const messageId = (0, crypto_1.randomUUID)().replace(/-/g, '');
130
+ sqsBatchEntries.push({
131
+ Id: messageId,
132
+ MessageBody: JSON.stringify(payload),
133
+ });
134
+ messageItemCounts.set(messageId, currentChunk.length);
135
+ currentChunk = [];
136
+ currentBytes = 2;
97
137
  };
98
- const commandService = processStrategy.getCommandService();
99
- // Rows run sequentially; SYNC awaits publishSync per row (see ImportPublishMode).
100
- for (const [index, item] of items.entries()) {
101
- try {
102
- // 1. Transform & Validate
103
- const transformedData = await importStrategy.transform(item);
104
- await importStrategy.validate(transformedData);
105
- // 2. Compare against existing data
106
- const compareResult = await processStrategy.compare({ ...transformedData, __s3Key: input.BatchInput.Attributes.key }, attributes.tenantCode);
107
- if (compareResult.status === enum_1.ComparisonStatus.EQUAL) {
108
- succeededRows++;
109
- continue; // Skip identical data
110
- }
111
- // 3. Map to Command Input
112
- const mappedData = await processStrategy.map(compareResult.status, { ...transformedData, __s3Key: input.BatchInput.Attributes.key }, attributes.tenantCode, compareResult.existingData);
113
- // 4. Publish to CommandService
114
- if (compareResult.status === enum_1.ComparisonStatus.NOT_EXIST) {
115
- if (publishMode === import_publish_1.ImportPublishMode.SYNC) {
116
- await commandService.publishSync(mappedData, options);
117
- }
118
- else {
119
- await commandService.publishAsync(mappedData, options);
138
+ const sendBatchToSqs = async () => {
139
+ if (sqsBatchEntries.length === 0)
140
+ return;
141
+ const queueUrl = this.configService.get('IMPORT_QUEUE_URL');
142
+ if (!queueUrl)
143
+ throw new Error('IMPORT_QUEUE_URL is not configured.');
144
+ while (sqsBatchEntries.length > 0) {
145
+ const batch = sqsBatchEntries.splice(0, sqs_constant_1.SQS_MAX_BATCH_SIZE);
146
+ const result = await this.sqsService.sendMessageBatch(queueUrl, batch);
147
+ for (const success of result.Successful || []) {
148
+ if (success.Id) {
149
+ succeededRows += messageItemCounts.get(success.Id) || 0;
150
+ messageItemCounts.delete(success.Id);
120
151
  }
121
152
  }
122
- else {
123
- if (publishMode === import_publish_1.ImportPublishMode.SYNC) {
124
- await commandService.publishPartialUpdateSync(mappedData, options);
125
- }
126
- else {
127
- await commandService.publishPartialUpdateAsync(mappedData, options);
153
+ for (const failure of result.Failed || []) {
154
+ if (failure.Id) {
155
+ const lostRowCount = messageItemCounts.get(failure.Id) || 0;
156
+ failedRows += lostRowCount;
157
+ this.logger.error(`SQS send failed for message ${failure.Id}. Lost ${lostRowCount} rows. Reason: ${failure.Message}`);
158
+ messageItemCounts.delete(failure.Id);
128
159
  }
129
160
  }
130
- succeededRows++;
161
+ }
162
+ };
163
+ for (const [index, item] of items.entries()) {
164
+ try {
165
+ const transformedData = await strategy.transform(item);
166
+ await strategy.validate(transformedData);
167
+ const serialized = JSON.stringify(transformedData);
168
+ const itemBytes = buffer_1.Buffer.byteLength(serialized, 'utf8');
169
+ const separatorBytes = currentChunk.length > 0 ? 1 : 0;
170
+ if (itemBytes > sqs_constant_1.SQS_SAFE_BODY_BYTES - sqs_constant_1.SQS_PAYLOAD_ENVELOPE_BYTES) {
171
+ this.logger.warn(`Row ${index + 1} exceeds SQS limits (${itemBytes} bytes). Skipping.`);
172
+ failedRows++;
173
+ continue;
174
+ }
175
+ if (currentBytes +
176
+ separatorBytes +
177
+ itemBytes +
178
+ sqs_constant_1.SQS_PAYLOAD_ENVELOPE_BYTES >
179
+ sqs_constant_1.SQS_SAFE_BODY_BYTES) {
180
+ packChunkToEntry();
181
+ await sendBatchToSqs();
182
+ }
183
+ currentChunk.push(transformedData);
184
+ currentBytes += separatorBytes + itemBytes;
131
185
  }
132
186
  catch (error) {
133
- this.logger.warn(`Row ${index + 1} failed processing.`, {
187
+ this.logger.warn(`Row ${index + 1} failed transform/validate.`, {
134
188
  item,
135
- errorMessage: error.message,
136
- stack: error.stack,
189
+ error: error.message,
137
190
  });
138
191
  failedRows++;
139
192
  }
140
193
  }
141
- // Return the summary for Step Functions aggregation
194
+ packChunkToEntry();
195
+ await sendBatchToSqs();
142
196
  return {
143
197
  totalRows: items.length,
144
198
  succeededRows,
145
199
  failedRows,
146
200
  };
147
201
  }
202
+ // Helper Methods
203
+ // ----------------------------------------------------------------
148
204
  async loadCsv(input, limit = 10) {
149
205
  // 1. Fetch the S3 object stream
150
206
  const { Body: s3Stream } = await this.s3Service.client.send(new client_s3_1.GetObjectCommand({
@@ -214,44 +270,143 @@ let CsvImportSfnEventHandler = CsvImportSfnEventHandler_1 = class CsvImportSfnEv
214
270
  .on('error', (error) => reject(error));
215
271
  });
216
272
  }
217
- /**
218
- * Normalizes Step Functions payloads: Map merges `processingResults`, or
219
- * legacy shape stores the batch array at index 0.
220
- */
221
- resolveFinalizeProcessingResults(input) {
222
- if (this.isCsvFinalizeNestedBatchArray(input)) {
223
- const first = input[0];
224
- return Array.isArray(first) ? first : [];
225
- }
226
- return input.processingResults ?? [];
273
+ // Helper to safely read an S3 Stream into a JSON string
274
+ async streamToString(stream) {
275
+ return new Promise((resolve, reject) => {
276
+ const chunks = [];
277
+ stream.on('data', (chunk) => chunks.push(chunk));
278
+ stream.on('error', reject);
279
+ stream.on('end', () => resolve(buffer_1.Buffer.concat(chunks).toString('utf8')));
280
+ });
227
281
  }
228
- isCsvFinalizeNestedBatchArray(input) {
229
- return Array.isArray(input);
282
+ // Helper to fetch and parse S3 ResultWriter files
283
+ async getResultsFromS3Writer(details) {
284
+ this.logger.debug(`Fetching ResultWriter manifest: s3://${details.Bucket}/${details.Key}`);
285
+ const manifestResponse = await this.s3Service.client.send(new client_s3_1.GetObjectCommand({ Bucket: details.Bucket, Key: details.Key }));
286
+ const manifestStr = await this.streamToString(manifestResponse.Body);
287
+ const manifest = JSON.parse(manifestStr);
288
+ const allBatchResults = [];
289
+ // ----------------------------------------------------------------
290
+ // THE FIX: Combine both SUCCEEDED and FAILED files from the manifest
291
+ // ----------------------------------------------------------------
292
+ const filesToProcess = [
293
+ ...(manifest.ResultFiles?.SUCCEEDED || []),
294
+ ...(manifest.ResultFiles?.FAILED || []),
295
+ ];
296
+ for (const file of filesToProcess) {
297
+ this.logger.debug(`Streaming large result file: ${file.Key}`);
298
+ const fileResponse = await this.s3Service.client.send(new client_s3_1.GetObjectCommand({ Bucket: details.Bucket, Key: file.Key }));
299
+ const readStream = fileResponse.Body;
300
+ const pipeline = readStream.pipe(JSONStream.parse('*'));
301
+ await new Promise((resolve, reject) => {
302
+ pipeline.on('data', (value) => {
303
+ if (value && value.Output) {
304
+ // Scenario A: A normal successful iteration
305
+ try {
306
+ allBatchResults.push(JSON.parse(value.Output));
307
+ }
308
+ catch (e) {
309
+ this.logger.error('Failed to parse Step Functions Output string', e);
310
+ }
311
+ }
312
+ else if (value && value.Error) {
313
+ // Scenario B: A crashed Map state iteration (e.g., Lambda Timeout)
314
+ try {
315
+ let rowCount = 0;
316
+ if (value.Input) {
317
+ // The Step Function logs the raw Input payload when an iteration fails.
318
+ // We parse it to find exactly how many items were in that doomed batch.
319
+ const inputObj = typeof value.Input === 'string'
320
+ ? JSON.parse(value.Input)
321
+ : value.Input;
322
+ rowCount = inputObj?.Items?.length || 0;
323
+ }
324
+ this.logger.warn(`Found failed Map iteration with ${rowCount} rows. Error: ${value.Error}`);
325
+ allBatchResults.push({
326
+ totalRows: rowCount,
327
+ succeededRows: 0,
328
+ failedRows: rowCount, // Count all rows in this iteration as failed
329
+ });
330
+ }
331
+ catch (e) {
332
+ this.logger.error('Failed to parse Step Functions Input string for failed iteration', e);
333
+ }
334
+ }
335
+ });
336
+ pipeline.on('end', () => resolve());
337
+ pipeline.on('error', (error) => reject(error));
338
+ });
339
+ }
340
+ return allBatchResults;
230
341
  }
231
342
  async finalizeParentJob(input, sourceId) {
232
343
  const parentKey = (0, helpers_1.parseId)(sourceId);
233
- const results = this.resolveFinalizeProcessingResults(input);
234
- if (results.length === 0) {
235
- this.logger.warn(`No batch results found for parent job ${sourceId}. Marking as FAILED.`);
344
+ // ----------------------------------------------------------------
345
+ // FAIL-SAFE: Handle any Step Function Map State crashes
346
+ // ----------------------------------------------------------------
347
+ if (input.errorOutput) {
348
+ const errorName = input.errorOutput.Error || 'UnknownError';
349
+ const cause = input.errorOutput.Cause || 'No cause provided by AWS.';
350
+ // Scenario A: The known "Empty CSV" edge case (Mark as COMPLETED)
351
+ if (errorName === 'States.ItemReaderFailed' &&
352
+ cause.includes('only CSV headers')) {
353
+ this.logger.log(`CSV file for ${parentKey.pk}#${parentKey.sk} contained only headers.`);
354
+ await this.importService.updateStatus(parentKey, enum_1.ImportStatusEnum.COMPLETED, {
355
+ result: {
356
+ message: 'CSV file contains only headers. No data to process.',
357
+ total: 0,
358
+ succeeded: 0,
359
+ failed: 0,
360
+ },
361
+ });
362
+ return;
363
+ }
364
+ // Scenario B: Any other unexpected infrastructure/Step Function error (Mark as FAILED)
365
+ this.logger.error(`Map state failed for ${parentKey.pk}#${parentKey.sk}. Error: ${errorName}`);
236
366
  await this.importService.updateStatus(parentKey, enum_1.ImportStatusEnum.FAILED, {
237
- result: { message: 'No batch processing results received.' },
367
+ error: {
368
+ message: `Step Function execution failed: ${errorName}`,
369
+ stack: cause,
370
+ },
238
371
  });
372
+ // Because we used updateStatus(), your framework will automatically trigger the
373
+ // DynamoDB stream -> ImportQueueEventHandler -> SingleImportProcessor logic,
374
+ // which safely increments the ZIP parent job's 'failed' counter!
239
375
  return;
240
376
  }
241
- // Sum up the output of all Map / Lambda batches
377
+ // ----------------------------------------------------------------
378
+ // NORMAL SUCCESSFUL FLOW (No errors)
379
+ // ----------------------------------------------------------------
380
+ let results = [];
381
+ if (input.mapOutput?.ResultWriterDetails) {
382
+ results = await this.getResultsFromS3Writer(input.mapOutput.ResultWriterDetails);
383
+ }
384
+ else if (input.processingResults) {
385
+ const rawResults = input.processingResults;
386
+ results = Array.isArray(rawResults)
387
+ ? Array.isArray(rawResults[0])
388
+ ? rawResults[0]
389
+ : rawResults
390
+ : [];
391
+ }
242
392
  const finalSummary = results.reduce((acc, batch) => {
243
393
  acc.totalRows += batch.totalRows;
244
394
  acc.succeededRows += batch.succeededRows;
245
395
  acc.failedRows += batch.failedRows;
246
396
  return acc;
247
397
  }, { totalRows: 0, succeededRows: 0, failedRows: 0 });
248
- this.logger.log(`Finalizing parent CSV job ${parentKey.pk}#${parentKey.sk}`, finalSummary);
249
- const finalStatus = finalSummary.failedRows > 0
250
- ? enum_1.ImportStatusEnum.FAILED
251
- : enum_1.ImportStatusEnum.COMPLETED;
398
+ let finalStatus = enum_1.ImportStatusEnum.COMPLETED;
399
+ let finalMessage = 'All items successfully transformed and queued to SQS.';
400
+ if (results.length === 0) {
401
+ finalStatus = enum_1.ImportStatusEnum.FAILED;
402
+ finalMessage = 'No batch processing results received.';
403
+ }
404
+ else if (finalSummary.failedRows > 0) {
405
+ finalStatus = enum_1.ImportStatusEnum.FAILED;
406
+ }
252
407
  await this.importService.updateStatus(parentKey, finalStatus, {
253
408
  result: {
254
- message: 'All batches have been processed.',
409
+ message: finalMessage,
255
410
  total: finalSummary.totalRows,
256
411
  succeeded: finalSummary.succeededRows,
257
412
  failed: finalSummary.failedRows,
@@ -263,13 +418,10 @@ exports.CsvImportSfnEventHandler = CsvImportSfnEventHandler;
263
418
  exports.CsvImportSfnEventHandler = CsvImportSfnEventHandler = CsvImportSfnEventHandler_1 = __decorate([
264
419
  (0, core_1.EventHandler)(csv_import_sfn_event_1.CsvImportSfnEvent),
265
420
  __param(1, (0, common_1.Inject)(import_module_definition_1.IMPORT_STRATEGY_MAP)),
266
- __param(4, (0, common_1.Inject)(import_module_definition_1.PROCESS_STRATEGY_MAP)),
267
- __param(5, (0, common_1.Inject)(import_module_definition_1.PUBLISH_MODE_MAP)),
268
421
  __metadata("design:paramtypes", [import_service_1.ImportService,
269
422
  Map,
270
423
  config_1.ConfigService,
271
424
  core_1.S3Service,
272
- Map,
273
- Map])
425
+ core_1.SqsService])
274
426
  ], CsvImportSfnEventHandler);
275
427
  //# sourceMappingURL=csv-import.sfn.event.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"csv-import.sfn.event.handler.js","sourceRoot":"","sources":["../../src/event/csv-import.sfn.event.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csv-import.sfn.event.handler.js","sourceRoot":"","sources":["../../src/event/csv-import.sfn.event.handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"csv-import.sfn.event.js","sourceRoot":"","sources":["../../src/event/csv-import.sfn.event.ts"],"names":[],"mappings":";;;AA8BA,MAAa,iBAAiB;IAK5B,YAAY,KAAkC;QAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;IAC1C,CAAC;CACF;AATD,8CASC;AAED,IAAI;AACJ,eAAe;AACf,gCAAgC;AAChC,6BAA6B;AAC7B,6BAA6B;AAC7B,iCAAiC;AACjC,OAAO;AACP,iBAAiB;AACjB,qBAAqB;AACrB,oGAAoG;AACpG,mBAAmB;AACnB,oCAAoC;AACpC,iCAAiC;AACjC,iCAAiC;AACjC,qCAAqC;AACrC,WAAW;AACX,sCAAsC;AACtC,+DAA+D;AAC/D,gDAAgD;AAChD,SAAS;AACT,iBAAiB;AACjB,mDAAmD;AACnD,8BAA8B;AAC9B,wBAAwB;AACxB,SAAS;AACT,wBAAwB;AACxB,oFAAoF;AACpF,6BAA6B;AAC7B,QAAQ;AACR,MAAM;AACN,IAAI"}
1
+ {"version":3,"file":"csv-import.sfn.event.js","sourceRoot":"","sources":["../../src/event/csv-import.sfn.event.ts"],"names":[],"mappings":";;;AAqBA,MAAa,iBAAiB;IAK5B,YAAY,KAAkC;QAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAA;IAC1C,CAAC;CACF;AATD,8CASC;AAyBD,IAAI;AACJ,eAAe;AACf,gCAAgC;AAChC,6BAA6B;AAC7B,6BAA6B;AAC7B,iCAAiC;AACjC,OAAO;AACP,iBAAiB;AACjB,qBAAqB;AACrB,oGAAoG;AACpG,mBAAmB;AACnB,oCAAoC;AACpC,iCAAiC;AACjC,iCAAiC;AACjC,qCAAqC;AACrC,WAAW;AACX,sCAAsC;AACtC,+DAA+D;AAC/D,gDAAgD;AAChD,SAAS;AACT,iBAAiB;AACjB,mDAAmD;AACnD,8BAA8B;AAC9B,wBAAwB;AACxB,SAAS;AACT,wBAAwB;AACxB,oFAAoF;AACpF,6BAA6B;AAC7B,QAAQ;AACR,MAAM;AACN,IAAI"}