Skip to main content

Main App & Deploy Stacks

App Entry Point

/app.py

#!/usr/bin/env python3
import os

import aws_cdk as cdk

from personalize_cdk.personalize_infra_stack import PersonalizeInfraStack
from personalize_cdk.personalize_pipeline_stack import PersonalizePipelineStack


app = cdk.App()

# Create Infrastructure Stack
infra_stack = PersonalizeInfraStack(
app, "PersonalizeInfraStack",
)
# Create Pipeline Stack
pipeline_stack = PersonalizePipelineStack(
app, "PersonalizePipelineStack",
data_bucket=infra_stack.data_bucket,
personalize_role=infra_stack.personalize_role,
dataset_arn=infra_stack.interactions_dataset.attr_dataset_arn,
dataset_group_arn=infra_stack.dataset_group.attr_dataset_group_arn,
)

pipeline_stack.add_dependency(infra_stack)

app.synth()

Deploy Stacks

# Bootstrap CDK (first time only)
cdk bootstrap

# Synthesize CloudFormation template
cdk synth

# Deploy infrastructure
cdk deploy PersonalizeInfraStack

# Deploy pipeline
cdk deploy PersonalizePipelineStack

# Deploy all
cdk deploy --all

After deployed succesfully, the Cloud Formation status will look like below: