inQuiry - Add New Cloud Storage - Implementation Changes & Testing
Background
This document explains what components of Sunbird inQuiry (version: release-5.2.0) uses Cloud Storage and how to integrate new Cloud Storage.
Above diagram shows inQuiry components (marked in yellow colour) and its connections with cloud storage.
As of now inQuiry supports cloud storage operations with Azure, Aws, Google Storage.
inQuiry has below flink jobs which interact with cloud storage for upload/download operation:
async-questionset-publish
questionset-republish
inquiry-api-service transforms cloud related metadata (e.g: downloadUrl, appIcon, etc) but doesn't interact with cloud storage. So there is no dependency with cloud-storage-sdk module.
e.g: the service convert cloud specific path (absolute path) to cloud neutral path (relative path) and vice versa.
In order to add support for any other cloud storage (e.g: OCI) under inQuiry components, below steps need to be followed:
async-questionset-publish & questionset-republish flink job:
Code Changes:
Both jobs uses cloud-storage-sdk for cloud storage operations. So first the sdk need a code change to have support for new cloud storage provider (e.g: OCI).
Job Name | inQuiry Release Version | cloud-storage-sdk Version | cloud-storage-sdk scala version |
---|---|---|---|