Calculate sha_256 correctly for s3

We were not taking into account the ``size`` argument when calculating the sha_256. If the ``size`` was smaller than the file, it would fail because it would compute the sha_256 for the entire file.

cc @danielgtaylor @jamesls