Class LakeFormationAwsClientFactory

java.lang.Object
org.apache.iceberg.aws.AssumeRoleAwsClientFactory
org.apache.iceberg.aws.lakeformation.LakeFormationAwsClientFactory
All Implemented Interfaces:
Serializable, AwsClientFactory

public class LakeFormationAwsClientFactory extends AssumeRoleAwsClientFactory
This implementation of AwsClientFactory is used by default if AwsProperties.GLUE_LAKEFORMATION_ENABLED is set to true. It uses the default credential chain to assume role. Third-party engines can further extend this class to any custom credential setup.

It extends AssumeRoleAwsClientFactory to reuse the assuming-role approach for all clients except S3 and KMS. If a table is registered with LakeFormation, the S3/KMS client will use LakeFormation vended credentials, otherwise it uses AssumingRole credentials. For using LakeFormation credential vending for a third-party query engine, see: https://docs.aws.amazon.com/lake-formation/latest/dg/register-query-engine.html

See Also: