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 TypeMethodDescriptionorg.apache.iceberg.io.FileIOloadFileIO(@NonNull org.apache.polaris.core.storage.StorageAccessConfig storageAccessConfig, @NonNull String ioImplClassName, @NonNull Map<String, String> properties) Loads a FileIO implementation for server-side use (metadata read/write, purge).
-
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 server-side use (metadata read/write, purge).This method may obtain subscoped credentials to restrict the FileIO's permissions, ensuring secure and limited access to the table's data and locations.
storageAccessConfigis authoritative for credentials and storage-config extras.propertiesmay carry catalog-trusted contextual settings (for exampletable-default.*). Callers must not pass tablemetadata.properties(), which can include caller-controlled FileIO client settings such ass3.endpoint.- Parameters:
storageAccessConfig- the storage access configuration containing credentials and other properties.ioImplClassName- the class name of the FileIO implementation to load.properties- catalog-trusted contextual properties for the FileIO.- Returns:
- a configured FileIO instance.
-