Consolidates multiple partial ZIP files (created by BiospexZipCreator) into a single final archive.
- Trigger: Manually invoked or triggered by Laravel when all partial ZIPs for an export are ready.
- Download & Extract: Downloads each partial ZIP from S3 and extracts its contents in memory/temp space.
- Re-compression: Appends all files into a new
archiverstream. - Upload: Streams the final consolidated ZIP back to S3.
- Cleanup: Deletes the source partial ZIP files from S3 to save space.
- Callback: Sends a
zip-readystatus update to the Laravel app via SQS.
- Inputs (JSON):
bucket: The S3 bucket containing the ZIP parts.partKeys: Array of objects containingzipKeyfor each part.finalKey: The target S3 key for the merged archive.updatesQueueUrl: SQS URL for reporting status.queueId: Reference ID for the Laravel export queue.
- Outputs:
- S3: The final merged ZIP file at
finalKey. - SQS: Status notification to
updatesQueueUrl.
- S3: The final merged ZIP file at
- Laravel Command:
App\Console\Commands\SqsListenerExportUpdate(Processes the finalzip-readystatus). - Related Lambda:
BiospexZipCreator(Source of the partial ZIP files).
Use the deploy.sh script for interactive deployment to AWS (Region: us-east-2).