Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For example, the content object in the Sunbird Knowlg building block stores the URLs of different files in its metadata to refer to the actual content.<Table>

Attribute Name

Object

Sample Data & Details

artifactUrl

Content, Asset

Sample: https://storage.googleapis.com/sunbird-content-dev/content/do_11363499589325619211/artifact/do_11363499589325619211_1664428219533_sample-5s.mp4

Here, the base path of the URL refering to the details about the Cloud Storage.

downloadUrl

Content, Asset, Collection, Question, QuestionSet

Sample: https://ntpproductionall.blob.core.windows.net/ntp-content-production/content/do_31366273555611648011133/kkssaa-4-paatth-18-kailennddr-bhaag-1_1667814644274_do_31366273555611648011133_1.ecar

Here also, the base path of the URL refering to the details about the Cloud Storage.

All these URLs of the files are directly stored in the respective databases in most of the scenarios. The data in this format makes it difficult to switch from one cloud service provider (CSP) to another CSP. <image>

...

To switch from one CSP to another CSP, we need to copy the storage data to the new CSP Storage in the same format and migrate the databases. This data migration is a costly operation and involves a lot of engineering effort.

...

Create a CNAME record in the DNS used for the Sunbird installation with CSP Storage base path as value. Use the CNAME URL as the base path while referring to any object or file in the Cloud Storage.<image>

...

With this to change the CSP for storage, just copy the data from the existing CSP Storage to the new CSP Storage in the same structure and update the CNAME with the new CSP Storage base path. There is no data migration required for the existing data in databases.