Interface FileIOFactory

All Known Implementing Classes:
DefaultFileIOFactory, WasbTranslatingFileIOFactory

public interface FileIOFactory
Interface for providing a way to construct FileIO objects, such as for reading/writing S3.

Implementations are available via CDI as @RequestScoped beans.

  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.iceberg.io.FileIO
    loadFileIO(org.apache.polaris.core.storage.StorageAccessConfig storageAccessConfig, String ioImplClassName, Map<String,String> properties)
    Loads a FileIO implementation for a specific table in the given realm with detailed config.
  • Method Details

    • loadFileIO

      org.apache.iceberg.io.FileIO loadFileIO(@Nonnull org.apache.polaris.core.storage.StorageAccessConfig storageAccessConfig, @Nonnull String ioImplClassName, @Nonnull Map<String,String> properties)
      Loads a FileIO implementation for a specific table in the given realm with detailed config.

      This method may obtain subscoped credentials to restrict the FileIO's permissions, ensuring secure and limited access to the table's data and locations.

      Parameters:
      storageAccessConfig - the storage access configuration containing credentials and other properties.
      ioImplClassName - the class name of the FileIO implementation to load.
      properties - configuration properties for the FileIO.
      Returns:
      a configured FileIO instance.