Class LakeFormationAwsClientFactory
java.lang.Object
org.apache.iceberg.aws.AssumeRoleAwsClientFactory
org.apache.iceberg.aws.lakeformation.LakeFormationAwsClientFactory
- All Implemented Interfaces:
Serializable
,AwsClientFactory
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:
-
Field Summary
-
Constructor Summary
-
Method Summary
Methods inherited from class org.apache.iceberg.aws.AssumeRoleAwsClientFactory
applyAssumeRoleConfigurations, awsProperties, dynamo, glue, httpClientProperties, region, s3FileIOProperties
-
Field Details
-
LF_AUTHORIZED_CALLER
- See Also:
-
-
Constructor Details
-
LakeFormationAwsClientFactory
public LakeFormationAwsClientFactory()
-
-
Method Details
-
initialize
Description copied from interface:AwsClientFactory
Initialize AWS client factory from catalog properties.- Specified by:
initialize
in interfaceAwsClientFactory
- Overrides:
initialize
in classAssumeRoleAwsClientFactory
- Parameters:
catalogProperties
- catalog properties
-
s3
public software.amazon.awssdk.services.s3.S3Client s3()Description copied from interface:AwsClientFactory
create a Amazon S3 client- Specified by:
s3
in interfaceAwsClientFactory
- Overrides:
s3
in classAssumeRoleAwsClientFactory
- Returns:
- s3 client
-
kms
public software.amazon.awssdk.services.kms.KmsClient kms()Description copied from interface:AwsClientFactory
Create a AWS KMS client- Specified by:
kms
in interfaceAwsClientFactory
- Overrides:
kms
in classAssumeRoleAwsClientFactory
- Returns:
- kms client
-