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 @ApplicationScoped beans.
-
Method Summary
Modifier and TypeMethodDescriptionorg.apache.iceberg.io.FileIOloadFileIO(org.apache.polaris.core.context.CallContext callContext, String ioImplClassName, Map<String, String> properties, org.apache.iceberg.catalog.TableIdentifier identifier, Set<String> tableLocations, Set<org.apache.polaris.core.storage.PolarisStorageActions> storageActions, org.apache.polaris.core.persistence.PolarisResolvedPathWrapper resolvedEntityPath) 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.context.CallContext callContext, @Nonnull String ioImplClassName, @Nonnull Map<String, String> properties, @Nonnull org.apache.iceberg.catalog.TableIdentifier identifier, @Nonnull Set<String> tableLocations, @Nonnull Set<org.apache.polaris.core.storage.PolarisStorageActions> storageActions, @Nonnull org.apache.polaris.core.persistence.PolarisResolvedPathWrapper resolvedEntityPath) 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:
callContext- the call for which the FileIO is being loaded.ioImplClassName- the class name of the FileIO implementation to load.properties- configuration properties for the FileIO.identifier- the table identifier.tableLocations- locations associated with the table.storageActions- storage actions allowed for the table.resolvedEntityPath- resolved paths for the entities.- Returns:
- a configured FileIO instance.
-