libera_utils.aws.s3_utilities.verify_ingestion#
- libera_utils.aws.s3_utilities.verify_ingestion(libera_filenames: list[L0Filename | LiberaDataProductFilename], *, boto_session: Session, timeout: float = 300.0, poll_interval: float = 10.0) None#
Block until every staged file is confirmed fully ingested, or raise on timeout.
For each file, up to three read-only checks are polled until they pass:
The file exists in its expected archive bucket (at its filename-derived archive prefix).
A Data Availability record exists for the data product/version/applicable-date (skipped for L0 PDS/CR files, which the SDC does not write availability records for).
A File Metadata record exists for the file basename.
All required AWS resources are resolved once up front; finding zero or more than one of any resource raises immediately (it indicates a mismatch between Libera Utils and the deployed SDC). Checks are polled every
poll_intervalseconds and each check stops being polled as soon as it passes. A per-file summary is always logged; if any check is still unsatisfied attimeout, aTimeoutErroris raised.- Parameters:
libera_filenames (list of L0Filename or LiberaDataProductFilename) – The validated filenames staged for ingest (as returned by
manual_ingest_data_products).boto_session (boto3.Session) – Boto3 session used for all (read-only) AWS interactions.
timeout (float, optional) – Maximum number of seconds to wait for full ingestion. Default 300 (5 minutes).
poll_interval (float, optional) – Number of seconds between polling passes. Default 10.
- Raises:
TimeoutError – If any expected record/object is still missing when the timeout elapses.