Package software.amazon.awscdk.services.lakeformation
AWS::LakeFormation Construct Library
This module is part of the AWS Cloud Development Kit project.
import software.amazon.awscdk.services.lakeformation.*;
There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:
- Search Construct Hub for LakeFormation construct libraries
- Use the automatically generated L1 constructs, in the same way you would use the CloudFormation AWS::LakeFormation resources directly.
There are no hand-written (L2) constructs for this service yet. However, you can still use the automatically generated L1 constructs, and use this service exactly as you would using CloudFormation directly.
For more information on the resources and properties available for this service, see the CloudFormation documentation for AWS::LakeFormation.
(Read the CDK Contributing Guide and submit an RFC if you are interested in contributing to this construct library.)
Example
Here is an example of creating a glue table and putting lakeformation tags on it. Note: this example uses deprecated constructs and overly permissive IAM roles. This example is meant to give a general idea of using the L1s; it is not production level.
import software.amazon.awscdk.*; import software.amazon.awscdk.services.glue.alpha.S3Table; import software.amazon.awscdk.services.glue.alpha.Database; import software.amazon.awscdk.services.glue.alpha.DataFormat; import software.amazon.awscdk.services.glue.alpha.Schema; import software.amazon.awscdk.services.lakeformation.CfnDataLakeSettings; import software.amazon.awscdk.services.lakeformation.CfnTag; import software.amazon.awscdk.services.lakeformation.CfnTagAssociation; Stack stack; String accountId; String tagKey = "aws"; String[] tagValues = List.of("dev"); Database database = new Database(this, "Database"); S3Table table = S3Table.Builder.create(this, "Table") .database(database) .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build(), Column.builder() .name("col2") .type(Schema.STRING) .build())) .dataFormat(DataFormat.CSV) .build(); DefaultStackSynthesizer synthesizer = (DefaultStackSynthesizer)stack.getSynthesizer(); CfnDataLakeSettings.Builder.create(this, "DataLakeSettings") .admins(List.of(DataLakePrincipalProperty.builder() .dataLakePrincipalIdentifier(stack.formatArn(ArnComponents.builder() .service("iam") .resource("role") .region("") .account(accountId) .resourceName("Admin") .build())) .build(), DataLakePrincipalProperty.builder() // The CDK cloudformation execution role. .dataLakePrincipalIdentifier(synthesizer.cloudFormationExecutionRoleArn.replace("${AWS::Partition}", "aws")) .build())) .build(); CfnTag tag = CfnTag.Builder.create(this, "Tag") .catalogId(accountId) .tagKey(tagKey) .tagValues(tagValues) .build(); LFTagPairProperty lfTagPairProperty = LFTagPairProperty.builder() .catalogId(accountId) .tagKey(tagKey) .tagValues(tagValues) .build(); CfnTagAssociation tagAssociation = CfnTagAssociation.Builder.create(this, "TagAssociation") .lfTags(List.of(lfTagPairProperty)) .resource(ResourceProperty.builder() .tableWithColumns(TableWithColumnsResourceProperty.builder() .databaseName(database.getDatabaseName()) .columnNames(List.of("col1", "col2")) .catalogId(accountId) .name(table.getTableName()) .build()) .build()) .build(); tagAssociation.node.addDependency(tag); tagAssociation.node.addDependency(table);
Additionally, you may need to use the lakeformation console to give permissions, particularly to give the cdk-exec-role tagging permissions.
-
ClassDescriptionA structure that represents a data cell filter with column-level, row-level, and/or cell-level security.A fluent builder for
CfnDataCellsFilter
.A wildcard object, consisting of an optional list of excluded column names or indexes.A builder forCfnDataCellsFilter.ColumnWildcardProperty
An implementation forCfnDataCellsFilter.ColumnWildcardProperty
A PartiQL predicate.A builder forCfnDataCellsFilter.RowFilterProperty
An implementation forCfnDataCellsFilter.RowFilterProperty
Properties for defining aCfnDataCellsFilter
.A builder forCfnDataCellsFilterProps
An implementation forCfnDataCellsFilterProps
TheAWS::LakeFormation::DataLakeSettings
resource is an AWS Lake Formation resource type that manages the data lake settings for your account.A fluent builder forCfnDataLakeSettings
.The Lake Formation principal.A builder forCfnDataLakeSettings.DataLakePrincipalProperty
An implementation forCfnDataLakeSettings.DataLakePrincipalProperty
Permissions granted to a principal.A builder forCfnDataLakeSettings.PrincipalPermissionsProperty
An implementation forCfnDataLakeSettings.PrincipalPermissionsProperty
Properties for defining aCfnDataLakeSettings
.A builder forCfnDataLakeSettingsProps
An implementation forCfnDataLakeSettingsProps
TheAWS::LakeFormation::Permissions
resource represents the permissions that a principal has on an AWS Glue Data Catalog resource (such as AWS Glue database or AWS Glue tables).A fluent builder forCfnPermissions
.A wildcard object, consisting of an optional list of excluded column names or indexes.A builder forCfnPermissions.ColumnWildcardProperty
An implementation forCfnPermissions.ColumnWildcardProperty
A structure for the database object.A builder forCfnPermissions.DatabaseResourceProperty
An implementation forCfnPermissions.DatabaseResourceProperty
The Lake Formation principal.A builder forCfnPermissions.DataLakePrincipalProperty
An implementation forCfnPermissions.DataLakePrincipalProperty
A structure for a data location object where permissions are granted or revoked.A builder forCfnPermissions.DataLocationResourceProperty
An implementation forCfnPermissions.DataLocationResourceProperty
A structure for the resource.A builder forCfnPermissions.ResourceProperty
An implementation forCfnPermissions.ResourceProperty
A structure for the table object.A builder forCfnPermissions.TableResourceProperty
An implementation forCfnPermissions.TableResourceProperty
Example:A builder forCfnPermissions.TableWildcardProperty
An implementation forCfnPermissions.TableWildcardProperty
A structure for a table with columns object.A builder forCfnPermissions.TableWithColumnsResourceProperty
An implementation forCfnPermissions.TableWithColumnsResourceProperty
Properties for defining aCfnPermissions
.A builder forCfnPermissionsProps
An implementation forCfnPermissionsProps
TheAWS::LakeFormation::PrincipalPermissions
resource represents the permissions that a principal has on a Data Catalog resource (such as AWS Glue databases or AWS Glue tables).A fluent builder forCfnPrincipalPermissions
.A wildcard object, consisting of an optional list of excluded column names or indexes.A builder forCfnPrincipalPermissions.ColumnWildcardProperty
An implementation forCfnPrincipalPermissions.ColumnWildcardProperty
A structure for the database object.A builder forCfnPrincipalPermissions.DatabaseResourceProperty
An implementation forCfnPrincipalPermissions.DatabaseResourceProperty
A structure that describes certain columns on certain rows.A builder forCfnPrincipalPermissions.DataCellsFilterResourceProperty
An implementation forCfnPrincipalPermissions.DataCellsFilterResourceProperty
The AWS Lake Formation principal.A builder forCfnPrincipalPermissions.DataLakePrincipalProperty
An implementation forCfnPrincipalPermissions.DataLakePrincipalProperty
A structure for a data location object where permissions are granted or revoked.A builder forCfnPrincipalPermissions.DataLocationResourceProperty
An implementation forCfnPrincipalPermissions.DataLocationResourceProperty
A structure containing an LF-tag key and values for a resource.A builder forCfnPrincipalPermissions.LFTagKeyResourceProperty
An implementation forCfnPrincipalPermissions.LFTagKeyResourceProperty
A list of LF-tag conditions that define a resource's LF-tag policy.A builder forCfnPrincipalPermissions.LFTagPolicyResourceProperty
An implementation forCfnPrincipalPermissions.LFTagPolicyResourceProperty
The LF-tag key and values attached to a resource.A builder forCfnPrincipalPermissions.LFTagProperty
An implementation forCfnPrincipalPermissions.LFTagProperty
A structure for the resource.A builder forCfnPrincipalPermissions.ResourceProperty
An implementation forCfnPrincipalPermissions.ResourceProperty
A structure for the table object.A builder forCfnPrincipalPermissions.TableResourceProperty
An implementation forCfnPrincipalPermissions.TableResourceProperty
A structure for a table with columns object.A builder forCfnPrincipalPermissions.TableWithColumnsResourceProperty
An implementation forCfnPrincipalPermissions.TableWithColumnsResourceProperty
Properties for defining aCfnPrincipalPermissions
.A builder forCfnPrincipalPermissionsProps
An implementation forCfnPrincipalPermissionsProps
TheAWS::LakeFormation::Resource
represents the data ( buckets and folders) that is being registered with AWS Lake Formation .A fluent builder forCfnResource
.Properties for defining aCfnResource
.A builder forCfnResourceProps
An implementation forCfnResourceProps
TheAWS::LakeFormation::Tag
resource represents an LF-tag, which consists of a key and one or more possible values for the key.A fluent builder forCfnTag
.TheAWS::LakeFormation::TagAssociation
resource represents an assignment of an LF-tag to a Data Catalog resource (database, table, or column).A fluent builder forCfnTagAssociation
.A structure for the database object.A builder forCfnTagAssociation.DatabaseResourceProperty
An implementation forCfnTagAssociation.DatabaseResourceProperty
A structure containing the catalog ID, tag key, and tag values of an LF-tag key-value pair.A builder forCfnTagAssociation.LFTagPairProperty
An implementation forCfnTagAssociation.LFTagPairProperty
A structure for the resource.A builder forCfnTagAssociation.ResourceProperty
An implementation forCfnTagAssociation.ResourceProperty
A structure for the table object.A builder forCfnTagAssociation.TableResourceProperty
An implementation forCfnTagAssociation.TableResourceProperty
A structure for a table with columns object.A builder forCfnTagAssociation.TableWithColumnsResourceProperty
An implementation forCfnTagAssociation.TableWithColumnsResourceProperty
Properties for defining aCfnTagAssociation
.A builder forCfnTagAssociationProps
An implementation forCfnTagAssociationProps
Properties for defining aCfnTag
.A builder forCfnTagProps
An implementation forCfnTagProps