Skip to main content

Apache 2.0 License Release badge Open in DEV Containers

CDK Amazon DataZone Construct Library

CDK Amazon DataZone is an AWS CDK construct library that simplifies the creation and management of Amazon DataZone resources. This library enables developers to automate data governance, data cataloging, and secure data sharing across domains by using familiar infrastructure-as-code practices with AWS CDK.

Features

  • Easily create and manage Amazon DataZone components, such as Domains, Projects, and Environments.
  • Seamless integration with the AWS CDK ecosystem, allowing users to manage DataZone resources alongside other AWS resources.
  • Support for secure resource configurations like KMS encryption, S3 bucket management, and domain-level blueprinting.

Installation

To install this library, use the following npm command:

npm install @cdklabs/cdk-data-zone

Usage Example

Here’s an example of how to use the @cdklabs/cdk-data-zone library in your AWS CDK project:

from aws_cdk import App, RemovalPolicy
from aws_cdk.aws_kms import Key
from aws_cdk.aws_s3 import Bucket, BucketEncryption


app = App()
stack = Stack(app, "TestStack")

# Create an S3 Bucket for the Blueprint
bucket = Bucket(stack, "BlueprintBucket",
    enforce_sSL=True,
    removal_policy=RemovalPolicy.DESTROY,
    auto_delete_objects=True,
    encryption=BucketEncryption.S3_MANAGED
)

# Create a DataZone Domain
domain = Domain(stack, "Domain",
    name="integration",
    encryption_key=Key(stack, "Key", enable_key_rotation=True)
)

# Enable a Blueprint for the Domain
blueprint = domain.enable_blueprint(BlueprintEnvironmentIdentifiers.DEFAULT_DATA_LAKE,
    parameters={
        "S3Location": f"s3://{bucket.bucketName}"
    }
)

# Create a Project within the Domain
project = domain.create_project("test-project",
    name="test-project",
    glossaries=Glossaries.from_file("./resources/glossaries.json"),
    forms=Forms.from_file("./resources/form-metadata.json")
)

# Create an Environment Profile for the Project
environment_profile = EnvironmentProfile(stack, "EnvironmentProfile",
    name="dev",
    blueprint=blueprint,
    project=project
)

# Create an Environment using the Environment Profile
Environment(stack, "environment",
    project=project,
    name="DEV",
    environment_profile=environment_profile
)

app.synth()

Key Features Highlighted

  • Domain Creation: Easily create Amazon DataZone Domains with encryption and other security features.
  • Project Management: Use Blueprints, Forms, and Glossaries to structure data governance.
  • Environment Profiles: Manage different environments within your data projects to ensure proper data governance policies.

Projen for Development

This project leverages Projen for managing development workflows. Projen automates common tasks like dependency management, testing, and versioning.

Getting Started with Development

  1. Clone the Repository:

    git clone https://github.com/cdklabs/cdk-data-zone.git
    cd cdk-data-zone
    
  2. Install Dependencies:

    npx projen install
    
  3. Run Projen to synthesize files:

    npx projen
    
  4. Build the Project:

    npx projen build
    
  5. Run Tests:

    npx projen test
    

API Reference

Detailed documentation of the available constructs, their properties, and methods is available in the API.md file.

Contributing

Contributions are welcome! Please see the CONTRIBUTING.md guide for more details on how to get involved.

Security policy

Please see the SECURITY.md for more information.

License

This project is licensed under the Apache-2.0 License. See the LICENSE file for more information.

Metadata

Release files for cdk-data-zone 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cdk-data-zone 0.0.3
File Size Uploaded
cdk_data_zone-0.0.3.tar.gz 150.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cdk-data-zone 0.0.3
File Interpreter ABI Platform
cdk_data_zone-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 299.6 kB

Release files / cdk_data_zone-0.0.3.tar.gz

Download URL cdk_data_zone-0.0.3.tar.gz
Size 150.9 kB
Tags Source
SHA-256 checksum
How to use checksums
189948b367218b25c1623cc3d38aacdad476f7e3a828c417a92e851c8a056a07
BLAKE2b-256 checksum
How to use checksums
9e166c790dad30f930e69895f5672cd99453ab37b2db8c576d248e2dc3d00a48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / cdk_data_zone-0.0.3-py3-none-any.whl

Download URL cdk_data_zone-0.0.3-py3-none-any.whl
Size 148.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc72b5b16c8dd28c4a919da8179681306678776cc770528e6e1c1c4c3a433713
BLAKE2b-256 checksum
How to use checksums
bfb5a7f504608e07e2d5dd1ad47a158fc44f7f1a059e321a0038da41578810ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page