Skip to content

Commit

Permalink
[sdlf-dataset][cdk] add sdlf:dataset lf-tag association for raw and a…
Browse files Browse the repository at this point in the history
…nalytics databases
  • Loading branch information
cnfait committed Oct 24, 2024
1 parent 30a65f1 commit 378080e
Showing 1 changed file with 32 additions and 28 deletions.
60 changes: 32 additions & 28 deletions sdlf-dataset/src/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -451,58 +451,51 @@ def __init__(self, scope: Construct, id: str, **kwargs) -> None:
string_value=self.datalakecrawler_role.role_arn,
)

raw_glue_catalog = self.data_catalog(
lf_tag = lakeformation.CfnTag(
self,
"rLakeFormationTag",
catalog_id=scope.account,
tag_key="sdlf:dataset",
tag_values=[p_datasetname.value_as_string],
)

lf_tag_pair_property = lakeformation.CfnTagAssociation.LFTagPairProperty(
catalog_id=scope.account,
tag_key=lf_tag.tag_key,
tag_values=[p_datasetname.value_as_string],
)

self.data_catalog(
scope,
p_org.value_as_string,
p_domain.value_as_string,
p_datasetname.value_as_string,
"raw",
p_rawbucket.value_as_string,
p_s3prefix.value_as_string,
lf_tag_pair_property,
)

stage_glue_catalog = self.data_catalog(
self.data_catalog(
scope,
p_org.value_as_string,
p_domain.value_as_string,
p_datasetname.value_as_string,
"stage",
p_stagebucket.value_as_string,
p_s3prefix.value_as_string,
lf_tag_pair_property,
)

analytics_glue_catalog = self.data_catalog(
self.data_catalog(
scope,
p_org.value_as_string,
p_domain.value_as_string,
p_datasetname.value_as_string,
"analytics",
p_analyticsbucket.value_as_string,
p_s3prefix.value_as_string,
)

lf_tag = lakeformation.CfnTag(
self,
"rLakeFormationTag",
catalog_id=scope.account,
tag_key="sdlf:dataset",
tag_values=[p_datasetname.value_as_string],
)

lf_tag_pair_property = lakeformation.CfnTagAssociation.LFTagPairProperty(
catalog_id=scope.account,
tag_key=lf_tag.tag_key,
tag_values=[p_datasetname.value_as_string],
)
lf_tag_association = lakeformation.CfnTagAssociation(
self,
"rGlueDataCatalogLakeFormationTag",
lf_tags=[lf_tag_pair_property],
resource=lakeformation.CfnTagAssociation.ResourceProperty(
database=lakeformation.CfnTagAssociation.DatabaseResourceProperty(
catalog_id=scope.account, name=stage_glue_catalog.database_name
)
),
lf_tag_pair_property,
)

# TODO
Expand Down Expand Up @@ -1100,7 +1093,7 @@ def __init__(self, scope: Construct, id: str, **kwargs) -> None:
value=p_pipelinereference.value_as_string,
)

def data_catalog(self, scope, org, domain, dataset, bucket_layer, bucket, s3_prefix):
def data_catalog(self, scope, org, domain, dataset, bucket_layer, bucket, s3_prefix, lf_tag_pair_property):
glue_catalog_resource_name = f"r{bucket_layer.capitalize()}GlueDataCatalog"
glue_catalog = glue_a.Database(
self,
Expand All @@ -1117,6 +1110,17 @@ def data_catalog(self, scope, org, domain, dataset, bucket_layer, bucket, s3_pre
string_value=glue_catalog.database_arn,
)

lakeformation.CfnTagAssociation(
self,
f"{glue_catalog_resource_name}LakeFormationTag",
lf_tags=[lf_tag_pair_property],
resource=lakeformation.CfnTagAssociation.ResourceProperty(
database=lakeformation.CfnTagAssociation.DatabaseResourceProperty(
catalog_id=scope.account, name=glue_catalog.database_name
)
),
)

glue_crawler_resource_name = f"r{bucket_layer.capitalize()}GlueCrawler"
glue_crawler = glue.CfnCrawler(
self,
Expand Down

0 comments on commit 378080e

Please sign in to comment.