Class DefaultFileIOFactory
- All Implemented Interfaces:
FileIOFactory
FileIO instances used by the
Polaris server.
Merge order: contextual properties, then StorageAccessConfig credentials /
extraProperties / internalProperties (AccessConfig wins), then polaris.storage.* HTTP
client settings from S3AccessConfig. Call sites must pass catalog-trusted context (for
example table-default.*), not table metadata.properties().
Production CDI paths inject the live S3AccessConfig; tests/fixtures can pass S3AccessConfig.empty().
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.iceberg.io.FileIOloadFileIO(@NonNull org.apache.polaris.core.storage.StorageAccessConfig storageAccessConfig, @NonNull String ioImplClassName, @NonNull Map<String, String> tableProperties) Loads a FileIO implementation for server-side use (metadata read/write, purge).
-
Constructor Details
-
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> tableProperties) Description copied from interface:FileIOFactoryLoads 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.- 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.tableProperties- catalog-trusted contextual properties for the FileIO.- Returns:
- a configured FileIO instance.
-