Class OSSFileIO

java.lang.Object
org.apache.iceberg.aliyun.oss.OSSFileIO
All Implemented Interfaces:
Closeable, Serializable, AutoCloseable, FileIO

public class OSSFileIO extends Object implements FileIO
FileIO implementation backed by OSS.

Locations used must follow the conventions for OSS URIs (e.g. oss://bucket/path...). URIs with scheme https are also treated as oss file paths. Using this FileIO with other schemes with result in ValidationException

See Also:
  • Constructor Details

    • OSSFileIO

      public OSSFileIO()
      No-arg constructor to load the FileIO dynamically.

      All fields are initialized by calling initialize(Map) later.

    • OSSFileIO

      public OSSFileIO(SerializableSupplier<com.aliyun.oss.OSS> oss)
      Constructor with custom oss supplier and default aliyun properties.

      Calling initialize(Map) will overwrite information set in this constructor.

      Parameters:
      oss - oss supplier
  • Method Details

    • newInputFile

      public InputFile newInputFile(String path)
      Description copied from interface: FileIO
      Get a InputFile instance to read bytes from the file at the given path.
      Specified by:
      newInputFile in interface FileIO
    • newOutputFile

      public OutputFile newOutputFile(String path)
      Description copied from interface: FileIO
      Get a OutputFile instance to write bytes to the file at the given path.
      Specified by:
      newOutputFile in interface FileIO
    • deleteFile

      public void deleteFile(String path)
      Description copied from interface: FileIO
      Delete the file at the given path.
      Specified by:
      deleteFile in interface FileIO
    • initialize

      public void initialize(Map<String,String> properties)
      Description copied from interface: FileIO
      Initialize File IO from catalog properties.
      Specified by:
      initialize in interface FileIO
      Parameters:
      properties - catalog properties
    • close

      public void close()
      Description copied from interface: FileIO
      Close File IO to release underlying resources.

      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.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface FileIO