I wasn't aware of this, but there is a metadata tag on these files in S3 that specifies the content type as binary/octet-stream. Is it possible in Retool to request a file as a particular ContentType?
It looks like Retool automatically encodes binary/octet-stream files into base64 data. Can you try using atob on the data returned by your read query along with something like the built-in Papa Parse library (e.g. Papa.parse(atob(get_s3.data.Body), {header: true}))?
Thanks @Kabirdas for that insight. I was able to read my binary/octet-stream files after doing atob on the payload.
In my case, I was working with a zstd-compressed file, and had to convert that ASCII string into an UInt8Array for decompression, but OP likely has a different use case.
I can't speak fully to what's going on in the background (mostly because I'm not super familiar with it ) I believe data that can be passed between components/queries follows some of the restrictions of Window.postMessage and data that isn't in JSON format often gets converted to a base64 string to get moved around.
If I can find a more definitive answer I'll pass it along!