Skip to main content

AWS DataZone L2 Construct library

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk_data_zone-0.0.1.tar.gz (140.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdk_data_zone-0.0.1-py3-none-any.whl (137.5 kB view details)

Uploaded Python 3

File details

Details for the file cdk_data_zone-0.0.1.tar.gz.

File metadata

  • Download URL: cdk_data_zone-0.0.1.tar.gz
  • Upload date:
  • Size: 140.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for cdk_data_zone-0.0.1.tar.gz
Algorithm Hash digest
SHA256 1d8d190e09a9ceec6911454dbb50f32efa5817d797a84b6c11e28082ad270c00
MD5 fa2b8809994198413b8a4e0a6c461634
BLAKE2b-256 ef255178f72d00be9a11b4cd6dbfda2da2349bb1d601e299c1005a9802b07a43

See more details on using hashes here.

File details

Details for the file cdk_data_zone-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: cdk_data_zone-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 137.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for cdk_data_zone-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 69f9d388a42b4c6d0003afb9a2974553dc21be1899ed2abc1db503ea84943a11
MD5 034d9df4f082550d3aa5ff4c3c8bbcf6
BLAKE2b-256 c717cb7f027cfb03a1f4d3c1fd02b4dfe7ff4f085338e1c48a66428a5a5269d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page