Class LakeFormationAwsClientFactory
- java.lang.Object
 - 
- org.apache.iceberg.aws.AssumeRoleAwsClientFactory
 - 
- org.apache.iceberg.aws.lakeformation.LakeFormationAwsClientFactory
 
 
 
- 
- All Implemented Interfaces:
 java.io.Serializable,AwsClientFactory
public class LakeFormationAwsClientFactory extends AssumeRoleAwsClientFactory
This implementation of AwsClientFactory is used by default ifAwsProperties.GLUE_LAKEFORMATION_ENABLEDis 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:
 - Serialized Form
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description static java.lang.StringLF_AUTHORIZED_CALLER 
- 
Constructor Summary
Constructors Constructor Description LakeFormationAwsClientFactory() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidinitialize(java.util.Map<java.lang.String,java.lang.String> catalogProperties)Initialize AWS client factory from catalog properties.software.amazon.awssdk.services.kms.KmsClientkms()Create a AWS KMS clientsoftware.amazon.awssdk.services.s3.S3Clients3()create a Amazon S3 client- 
Methods inherited from class org.apache.iceberg.aws.AssumeRoleAwsClientFactory
configure, dynamo, glue, httpClientType, region, s3Endpoint, s3UseArnRegionEnabled, tags 
 - 
 
 - 
 
- 
- 
Field Detail
- 
LF_AUTHORIZED_CALLER
public static final java.lang.String LF_AUTHORIZED_CALLER
- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Method Detail
- 
initialize
public void initialize(java.util.Map<java.lang.String,java.lang.String> catalogProperties)
Description copied from interface:AwsClientFactoryInitialize AWS client factory from catalog properties.- Specified by:
 initializein interfaceAwsClientFactory- Overrides:
 initializein classAssumeRoleAwsClientFactory- Parameters:
 catalogProperties- catalog properties
 
- 
s3
public software.amazon.awssdk.services.s3.S3Client s3()
Description copied from interface:AwsClientFactorycreate a Amazon S3 client- Specified by:
 s3in interfaceAwsClientFactory- Overrides:
 s3in classAssumeRoleAwsClientFactory- Returns:
 - s3 client
 
 
- 
kms
public software.amazon.awssdk.services.kms.KmsClient kms()
Description copied from interface:AwsClientFactoryCreate a AWS KMS client- Specified by:
 kmsin interfaceAwsClientFactory- Overrides:
 kmsin classAssumeRoleAwsClientFactory- Returns:
 - kms client
 
 
 - 
 
 -