Class DefaultFileIOFactory
java.lang.Object
org.apache.polaris.service.catalog.io.DefaultFileIOFactory
- All Implemented Interfaces:
FileIOFactory
@RequestScoped
@Identifier("default")
public class DefaultFileIOFactory
extends Object
implements FileIOFactory
A default FileIO factory implementation for creating Iceberg
FileIO instances with
contextual table-level properties.
This class acts as a translation layer between Polaris properties and the properties required
by Iceberg's FileIO.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.iceberg.io.FileIOloadFileIO(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.
-
Constructor Details
-
DefaultFileIOFactory
@Inject public DefaultFileIOFactory()
-
-
Method Details
-
loadFileIO
public org.apache.iceberg.io.FileIO loadFileIO(@Nonnull org.apache.polaris.core.storage.StorageAccessConfig storageAccessConfig, @Nonnull String ioImplClassName, @Nonnull Map<String, String> properties) Description copied from interface:FileIOFactoryLoads 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.
- Specified by:
loadFileIOin interfaceFileIOFactory- 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.
-