Serialization interface to read/write R objects to S3
s3saveRDS(
x,
object = paste0(as.character(substitute(x)), ".rds"),
bucket,
compress = TRUE,
...
)
s3readRDS(object, bucket, ...)
For s3saveRDS
, a single R object to be saved via saveRDS
and uploaded to S3. x
is analogous to the object
argument in saveRDS
.
Character string with the object key, or an object of class “s3_object”. In most cases, if object
is specified as the latter, bucket
can be omitted because the bucket name will be extracted from “Bucket” slot in object
.
Character string with the name of the bucket, or an object of class “s3_bucket”.
A logical. See saveRDS
.
Additional arguments passed to s3HTTP
.
For s3saveRDS
, a logical. For s3readRDS
, an R object.
Note that early versions of s3saveRDS
from aws.s3 <= 0.2.4 unintentionally serialized objects to big endian format (due to defaults in serialize
. This can create problems when attempting to read these files using readRDS
. The function attempts to catch the issue and read accordingly, but may fail. The solution used internally is unserialize(memDecompress(get_object(), "gzip"))
if (FALSE) { # \dontrun{
# create bucket
b <- put_bucket("myexamplebucket")
# save a single object to s3
s3saveRDS(x = mtcars, bucket = "myexamplebucket", object = "mtcars.rds")
# restore it under a different name
mtcars2 <- s3readRDS(object = "mtcars.rds", bucket = "myexamplebucket")
identical(mtcars, mtcars2)
# cleanup
delete_object(object = "mtcars.rds", bucket = "myexamplebucket")
delete_bucket("myexamplebucket")
} # }