Documentation
¶
Overview ¶
Package filesystem contains an extensible file system abstraction. It allows various kinds of storage systems to be used uniformly, notably through textio.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Register ¶
Register registers a file system backend under the given scheme. For example, "hdfs" would be registered a HFDS file system and HDFS paths used transparently.
func ValidateScheme ¶
func ValidateScheme(path string)
ValidateScheme panics if the given path's scheme does not have a corresponding file system registered.
Types ¶
type Interface ¶
type Interface interface {
io.Closer
// List expands a patten to a list of filenames.
List(ctx context.Context, glob string) ([]string, error)
// OpenRead opens a file for reading.
OpenRead(ctx context.Context, filename string) (io.ReadCloser, error)
// OpenRead opens a file for writing. If the file already exist, it will be
// overwritten.
OpenWrite(ctx context.Context, filename string) (io.WriteCloser, error)
// Size returns the size of a file in bytes.
Size(ctx context.Context, filename string) (int64, error)
}
Interface is a filesystem abstraction that allows beam io sources and sinks to use various underlying storage systems transparently.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package gcs contains a Google Cloud Storage (GCS) implementation of the Beam file system.
|
Package gcs contains a Google Cloud Storage (GCS) implementation of the Beam file system. |
|
Package local contains a local file implementation of the Beam file system.
|
Package local contains a local file implementation of the Beam file system. |
|
Package memfs contains a in-memory Beam filesystem.
|
Package memfs contains a in-memory Beam filesystem. |
Click to show internal directories.
Click to hide internal directories.