Loading large number of records into the CloudKit public database

Anyone know how to load a large number of records into the CloudKit public database?

I need to load 1.2million records (about 150Mb) into the public database. no binary data. basically just a bunch of exchange rates that I need to have available to all my users.

I've been trying for months. have tried:

  • loading into core data on a device or simulator individually or in batches ranging from 400 records to 2500 (more than that exceeds batch size limits). it will start to sync and then stop. can often get it to restart by restarting device or similator but will eventually corrupt the database in iCloud requiring a reset of the environment. generally can get the load to go for a few days and load maybe 500k records before it breaks. to do that have to put delays up to a minute between batches loaded into core data.
  • have tried doing it using the CloudKit.js framework and loading from a server. this works for a small number of records. but limits are really small doing it through that interface. after a while it locks you out. don't get anywhere near the number of records I need to load.

I'm stuck. has anyone found a way? same issue on all versions of iOS - 14, 15, 16b1

Please file a bug report with Feedback Assistant (https://feedbackassistant.apple.com/) and we can help investigate further.

done - FB10392936 (Unable to load large number of records into the CloudKit public database.) probably not the best articulation for a bug report but I've attached code and schema. let me know if u need anything specific.

Loading large number of records into the CloudKit public database
 
 
Q