AWS S3 Interface for Julia
Installation: at the Julia REPL, using Pkg; Pkg.add("AWSS3")
using AWSS3
using AWS # for `global_aws_config`
aws = global_aws_config(; region="us-east-2") # pass keyword arguments to change defaults
s3_create_bucket(aws, "my.bucket")
# if the config is omitted it will try to infer it as usual from AWS.jl
s3_delete_bucket("my.bucket")
p = S3Path("s3://my.bucket/test1.txt") # provides an filesystem-like interface
write(p, "some data")
read(p, byte_range=1:4) # returns b"some"
response = write(p, "other data"; returns=:response) # returns the raw `AWS.Response` on writing to S3
parsed_response = write(p, "other data"; returns=:parsed) # returns the parsed `AWS.Response` (default)
versioned_path = write(p, "other data"; returns=:path) # returns the `S3Path` written to S3, including the version ID