public class S3FileIO extends java.lang.Object implements FileIO
Locations used must follow the conventions for S3 URIs (e.g. s3://bucket/path...).
URIs with schemes s3a, s3n, https are also treated as s3 file paths.
Using this FileIO with other schemes will result in ValidationException
.
Constructor and Description |
---|
S3FileIO()
No-arg constructor to load the FileIO dynamically.
|
S3FileIO(SerializableSupplier<software.amazon.awssdk.services.s3.S3Client> s3)
Constructor with custom s3 supplier and default AWS properties.
|
S3FileIO(SerializableSupplier<software.amazon.awssdk.services.s3.S3Client> s3,
AwsProperties awsProperties)
Constructor with custom s3 supplier and AWS properties.
|
Modifier and Type | Method and Description |
---|---|
void |
deleteFile(java.lang.String path)
Delete the file at the given path.
|
void |
initialize(java.util.Map<java.lang.String,java.lang.String> properties)
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. |
OutputFile |
newOutputFile(java.lang.String path)
Get a
OutputFile instance to write bytes to the file at the given path. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
deleteFile, deleteFile
public S3FileIO()
All fields are initialized by calling initialize(Map)
later.
public S3FileIO(SerializableSupplier<software.amazon.awssdk.services.s3.S3Client> s3)
Calling initialize(Map)
will overwrite information set in this constructor.
s3
- s3 supplierpublic S3FileIO(SerializableSupplier<software.amazon.awssdk.services.s3.S3Client> s3, AwsProperties awsProperties)
Calling initialize(Map)
will overwrite information set in this constructor.
s3
- s3 supplierawsProperties
- aws 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 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 void initialize(java.util.Map<java.lang.String,java.lang.String> properties)
FileIO
initialize
in interface FileIO
properties
- catalog properties