Versioning will let you keep track of file versions so the reader can stick with the version it started with until it decides to fetch a new one. No directory versioning directly in S3, but you can manage versions by using timestamps or version IDs in filenames. You can stream the file without downloading it all using get_object or use S3 Select for querying specific parts of the CSV.