Class OSSFileIO

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Serializable, java.lang.AutoCloseable, FileIO

    public class OSSFileIO
    extends java.lang.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:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      OSSFileIO()
      No-arg constructor to load the FileIO dynamically.
      OSSFileIO​(SerializableSupplier<com.aliyun.oss.OSS> oss)
      Constructor with custom oss supplier and default aliyun properties.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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> 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • 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 Detail

      • newInputFile

        public InputFile newInputFile​(java.lang.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​(java.lang.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​(java.lang.String path)
        Description copied from interface: FileIO
        Delete the file at the given path.
        Specified by:
        deleteFile in interface FileIO
      • initialize

        public void initialize​(java.util.Map<java.lang.String,​java.lang.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 java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface FileIO