Hello Eric,
Using query strings may be one way how to enforce CDN to update cached content. However, you would need to make some customizations in Media library to ensure there is a unique query string added everytime you update the file.
With that being mentioned, at least for Azure CDN, it is possible to configure time-to-live of files stored there. Please see the following article which describes the web.config key that enables you to change TTL for files stored in CDN - How to Manage Expiration of Cloud Service Content in the Azure Content Delivery Network (CDN).
Best regards,
Filip