cloudyr / aws.s3

Amazon Simple Storage Service (S3) API Client
https://cloud.r-project.org/package=aws.s3
381 stars 147 forks source link

object_size fails on large objects #420

Open scottkall opened 2 years ago

scottkall commented 2 years ago

https://github.com/cloudyr/aws.s3/blob/621e0adc85abaa414814569ffe7dd28334318dc3/R/head_object.R#L66

Hi, I think a simple change here from as.integer to as.double should fix this bug.

I was calling object_size() on a large object, and it was returning NA because the file size was too large.

> object_exists(paste0(s3bucket,"/",s3key))
[1] TRUE
> object_size(paste0(s3bucket,"/",s3key))
[1] NA
Warning message:
In object_size(paste0(s3bucket, "/", s3key)) :
  NAs introduced by coercion to integer range
> attr(head_object(paste0(s3bucket,"/",s3key)),"content-length")
[1] "17350435674"
> as.double("17350435674")
[1] 17350435674
> as.integer("17350435674")
[1] NA
Warning message:
NAs introduced by coercion to integer range 

This is related to #181 and #234 . Thank you!