public class GCSFileIO extends java.lang.Object implements FileIO
Locations follow the conventions used by BlobId.fromGsUtilUri
that follow the
convention
gs://<bucket>/<blob_path>
Constructor and Description |
---|
GCSFileIO()
No-arg constructor to load the FileIO dynamically.
|
GCSFileIO(SerializableSupplier<com.google.cloud.storage.Storage> storageSupplier,
GCPProperties gcpProperties)
Constructor with custom storage supplier and GCP properties.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Close File IO to release underlying resources.
|
void |
deleteFile(java.lang.String path)
Delete the file at the given path.
|
void |
initialize(java.util.Map<java.lang.String,java.lang.String> props)
Initialize File IO from catalog properties.
|
InputFile |
newInputFile(java.lang.String path)
Get a
InputFile instance to read bytes from the file at the given path. |
InputFile |
newInputFile(java.lang.String path,
long length)
Get a
InputFile instance to read bytes from the file at the given path, with a known
file length. |
OutputFile |
newOutputFile(java.lang.String path)
Get a
OutputFile instance to write bytes to the file at the given path. |
java.util.Map<java.lang.String,java.lang.String> |
properties()
Returns the property map used to configure this FileIO
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
deleteFile, deleteFile
public GCSFileIO()
All fields are initialized by calling initialize(Map)
later.
public GCSFileIO(SerializableSupplier<com.google.cloud.storage.Storage> storageSupplier, GCPProperties gcpProperties)
Calling initialize(Map)
will overwrite information set in this
constructor.
storageSupplier
- storage suppliergcpProperties
- gcp propertiespublic InputFile newInputFile(java.lang.String path)
FileIO
InputFile
instance to read bytes from the file at the given path.newInputFile
in interface FileIO
public InputFile newInputFile(java.lang.String path, long length)
FileIO
InputFile
instance to read bytes from the file at the given path, with a known
file length.newInputFile
in interface FileIO
public OutputFile newOutputFile(java.lang.String path)
FileIO
OutputFile
instance to write bytes to the file at the given path.newOutputFile
in interface FileIO
public void deleteFile(java.lang.String path)
FileIO
deleteFile
in interface FileIO
public java.util.Map<java.lang.String,java.lang.String> properties()
FileIO
properties
in interface FileIO
public void initialize(java.util.Map<java.lang.String,java.lang.String> props)
FileIO
initialize
in interface FileIO
props
- catalog propertiespublic void close()
FileIO
Calling this method is only required when this FileIO instance is no longer expected to be used, and the resources it holds need to be explicitly released to avoid resource leaks.