public class LakeFormationAwsClientFactory extends AssumeRoleAwsClientFactory
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
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
LF_AUTHORIZED_CALLER |
Constructor and Description |
---|
LakeFormationAwsClientFactory() |
Modifier and Type | Method and Description |
---|---|
void |
initialize(java.util.Map<java.lang.String,java.lang.String> catalogProperties)
Initialize AWS client factory from catalog properties.
|
software.amazon.awssdk.services.kms.KmsClient |
kms()
Create a AWS KMS client
|
software.amazon.awssdk.services.s3.S3Client |
s3()
create a Amazon S3 client
|
applyAssumeRoleConfigurations, awsProperties, dynamo, glue, region
public static final java.lang.String LF_AUTHORIZED_CALLER
public void initialize(java.util.Map<java.lang.String,java.lang.String> catalogProperties)
AwsClientFactory
initialize
in interface AwsClientFactory
initialize
in class AssumeRoleAwsClientFactory
catalogProperties
- catalog propertiespublic software.amazon.awssdk.services.s3.S3Client s3()
AwsClientFactory
s3
in interface AwsClientFactory
s3
in class AssumeRoleAwsClientFactory
public software.amazon.awssdk.services.kms.KmsClient kms()
AwsClientFactory
kms
in interface AwsClientFactory
kms
in class AssumeRoleAwsClientFactory