Skip to content

Initial lambda #76

Description

@DanielSass

What needs to be done

Build a lambda function that connects with various AWS infra in order to determine when to call the core diff functionality on two eICR/RR pairs.

Why it needs to be done

This how we're going to be running in prod.

Acceptance Criteria

  • Lambda entry point is an SQS Event (similar to refiner)
  • Lambda reads event to get an s3 key (example message in meeting notes)
  • Lambda grabs the s3 document (shape in the technical notes) using the event data

For each eICR/RR pair in the document:

  • Lambda checks dynamo for a previous document
  • Lambda stores current event info in dynamo for future processing.
  • Lambda calls core diff functionality if applicable (based on dynamo data)
  • Lambda writes output (augmented eICR + JSON output) to output s3
  • Lambda updates dynamo

When finished processing all files in the document

  • Lambda writes the DIDComplete to s3

Technical Notes

  • We might need to revisit storage architecture with the new requirement for batch processing
  • s3 document input will look like:
{
"Files" : [
{"eicr": "RefinerOutputV2/{persistence_id}/SDDH/COVID19/refined_eICR.xml",
 "rr": "RefinerOutputV2/{persistence_id}/SDDH/COVID19/refined_RR.xml"
 "setid":"xyz",
 "version":123
},
{"eicr": "RefinerOutputV2/{persistence_id}/SDDH/COVID19/refined_eICR.xml",
 "rr": "RefinerOutputV2/{persistence_id}/SDDH/COVID19/refined_RR.xml"
 "setid":"xyz",
 "version":123
}
]
}

Additional context

[OPTIONAL, delete if not needed]
Include any additional context or information here that doesn't fit into other parts of the template

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions