📦
Storage service
  • Introduction
  • How-to: basic operations
    • Ingest a bag into the storage service
    • Look up an already-stored bag in the storage service
    • Look up the versions of a bag in the storage service
  • How to: advanced usage
    • Getting notifications of newly stored bags
  • How to: debugging errors
    • Where to find application logs
    • Manually marking ingests as failed
  • Reference/design decisison
    • The semantics of bags, ingests and ingest types
    • How identifiers work in the storage service
    • How files are laid out in the underlying storage
    • Compressed vs uncompressed bags, and the choice of tar.gz
  • Developer information/workflow
    • An API reference for the user-facing storage service APIs
    • Key technologies
    • Inter-app messaging with SQS and SNS
    • How requests are routed from the API to app containers
    • Repository layout
    • How Docker images are published to ECR
  • Wellcome-specific information
    • Our storage configuration
      • Our three replicas: S3, Glacier, and Azure
      • Using multiple storage tiers for cost-efficiency (A/V, TIFFs)
      • Small fluctuations in our storage bill
      • Delete protection on the production storage service
    • Wellcome-specific debugging
      • Why did my callback to Goobi return a 401 Unauthorized?
    • Recovering files from our Azure replica
    • Awkward files and bags
    • Deleting files or bags bags from the storage service
Powered by GitBook
On this page
  1. How to: advanced usage

Getting notifications of newly stored bags

When the storage service successfully stores a bag, it sends a notification to an SNS topic. You can subscribe to this topic to react to updates, e.g. if you want to trigger some downstream processing.

This will be a topic whose name ends registered_bag_notifications.

This topic will receive JSON messages that look similar to the following:

{
  "space": "digitised",
  "externalIdentifier": "b20278512",
  "version": "v1",
  "type": "RegisteredBagNotification"
}

Any bag described in this topic should be retrievable through the bags API.

PreviousLook up the versions of a bag in the storage serviceNextWhere to find application logs

Last updated 2 years ago