FileSystem is an abstract file system API,
LocalFileSystem is an implementation accessing files
on the local machine. SubTreeFileSystem is an implementation that delegates
to another implementation after prepending a fixed base path
LocalFileSystem$create() returns the object and takes no arguments.
SubTreeFileSystem$create() takes the following arguments:
base_path, a string path
base_fs, a FileSystem object
S3FileSystem$create() optionally takes arguments:
anonymous: logical, default FALSE. If true, will not attempt to look up
credentials using standard AWS configuration methods.
access_key, secret_key: authentication credentials. If one is provided,
the other must be as well. If both are provided, they will override any
AWS configuration set at the environment level.
session_token: optional string for authentication along with
access_key and secret_key
role_arn: string AWS ARN of an AccessRole. If provided instead of access_key and
secret_key, temporary credentials will be fetched by assuming this role.
session_name: optional string identifier for the assumed role session.
external_id: optional unique string identifier that might be required
when you assume a role in another account.
load_frequency: integer, frequency (in seconds) with which temporary
credentials from an assumed role session will be refreshed. Default is
900 (i.e. 15 minutes)
region: AWS region to connect to. If omitted, the AWS library will
provide a sensible default based on client configuration, falling back
to "us-east-1" if no other alternatives are found.
endpoint_override: If non-empty, override region with a connect string
such as "localhost:9000". This is useful for connecting to file systems
that emulate S3.
scheme: S3 connection transport (default "https")
background_writes: logical, whether OutputStream writes will be issued
in the background, without blocking (default TRUE)
$GetFileInfo(x): x may be a FileSelector or a character
vector of paths. Returns a list of FileInfo
$CreateDir(path, recursive = TRUE): Create a directory and subdirectories.
$DeleteDir(path): Delete a directory and its contents, recursively.
$DeleteDirContents(path): Delete a directory's contents, recursively.
Like $DeleteDir(),
but doesn't delete the directory itself. Passing an empty path ("") will
wipe the entire filesystem tree.
$DeleteFile(path) : Delete a file.
$DeleteFiles(paths) : Delete many files. The default implementation
issues individual delete operations in sequence.
$Move(src, dest): Move / rename a file or directory. If the destination
exists:
if it is a non-empty directory, an error is returned
otherwise, if it has the same type as the source, it is replaced
otherwise, behavior is unspecified (implementation-dependent).
$CopyFile(src, dest): Copy a file. If the destination exists and is a
directory, an error is returned. Otherwise, it is replaced.
$OpenInputStream(path): Open an input stream for
sequential reading.
$OpenInputFile(path): Open an input file for random
access reading.
$OpenOutputStream(path): Open an output stream for
sequential writing.
$OpenAppendStream(path): Open an output stream for
appending.
$type_name: string filesystem type name, such as "local", "s3", etc.
$region: string AWS region, for S3FileSystem and SubTreeFileSystem
containing a S3FileSystem
$base_fs: for SubTreeFileSystem, the FileSystem it contains
$base_path: for SubTreeFileSystem, the path in $base_fs which is considered
root in this SubTreeFileSystem.