Our customer want his reports to be created in external system. He don’t want to expose his database to us. We are trying to pull data out using rest api’s but is that the right (or only) approach. Do we have any alternative present for this.
If the customer doesn’t want to expose the DB, the REST API is the only real alternative. Make calls to the REST endpoints to do the E of “ETL” and take it from there.
However, consider scale, because if you have a ton of data, it’ll be a pain. Nothing will replace a direct DB connection in that scenario.
With proper security in place, there’s no real reason an ETL process shouldn’t be allowed to connect to a DB server.