Hi,
I want to export product data to an external system. This means:
- Initially export all products of a given store to the external system
- After the initial export is finished, sync changes of product data to the external system using subscriptions
I was wondering what the recommended way to do the initial full export is, especially with a large amount if products like ~100.000. I checked the documentation and furthermore had a look at the product export template (https://github.com/commercetools/connect-product-export-template/tree/main).
The product export template loads all product ids using the the “Query Products assigned to active ProductSelections in a Store” endpoint (https://docs.commercetools.com/api/projects/product-selections#query-products-assigned-to-active-productselections-in-a-store), before retrieving product data with a separate call to the “Get ProductProjection in Store by ID” endpoint (https://docs.commercetools.com/api/projects/productProjections#get-productprojection-in-store) for every single product.
This seems like a lot of requests to the API, given a large set of product data with a long execution time for a full export. Furthermore I’m not sure how to handle the problem, that already exported chunks are changed in commercetools, while the export is still running. Yes, I like to use subscriptions to sync changes to the external system, but only after the full export is finished.
So, in summary, the question arises for me: what is the best und most performant way to keep a external system in sync with the product data for a given store?
Thanks and kind regards
Torben