Metadata-Version: 2.1
Name: appflow-patterns
Version: 0.0.2
Summary: L3-level cdk constructs for AWS Appflow.
Home-page: https://github.com/MarcDuQuesne/appflow-patterns
Author: Matteo Giani<matteo.giani.87@gmail.com>
License: Apache-2.0
Project-URL: Source, https://github.com/MarcDuQuesne/appflow-patterns
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: JavaScript
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Typing :: Typed
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved
Requires-Python: ~=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aws-cdk-lib <3.0.0,>=2.122.0
Requires-Dist: aws-cdk.aws-glue-alpha <3.0.0,>=2.121.1.a0
Requires-Dist: aws-cdk.aws-redshift-alpha <3.0.0,>=2.121.1.a0
Requires-Dist: cdklabs.cdk-appflow <0.0.32,>=0.0.31
Requires-Dist: constructs <11.0.0,>=10.0.5
Requires-Dist: jsii <2.0.0,>=1.94.0
Requires-Dist: publication >=0.0.3
Requires-Dist: typeguard ~=2.13.3

# Appflow Patterns - a library to facilitate data flows

This library aims at simplifying the task of setting up data flows between SaaS like SharePoint and S3.

This library is  written using the wonderful [projen](https://github.com/projen/projen) framework.

Note: this library is just the result of some personal experimentation. It is not an official AWS library and is not supported by AWS!

# Installation

The library is available on npmjs.com and can be installed using:

`npm i dms-patterns`

And on pypi:

`pip install dms-patterns`

# Usage Examples

## Sharepoint to S3

This example creates a scheduled and ondemand flow from a sharepoint site to an s3 bucket.

```python
import { Sharepoint2S3Flow } from '../src/appflow-patterns/sharepoint2s3';


export class Sharepoint2S3Stack extends cdk.Stack {
  constructor(scope: Construct, id: string, props: cdk.StackProps) {
    super(scope, id, props);

    const bucket = new s3.Bucket(this, 'Bucket', {
      bucketName: 'my-bucket',
    });

    new Sharepoint2S3Flow(this, 'Sharepoint2S3Flow', {
      site: 'sites/${siteName},${siteID},${webID}',
      entities: ['${site}/_api/v2.0/drive/root:/path/to/folder'],
      profileArn: 'arn:aws:appflow:us-east-1:123456789012:connector-profile/12345678-1234-1234-1234-123456789012',
      bucketName: bucket.bucketName,
      scheduleExpression: 'rate(12 hour)',
    });

  }
}
```

Currently, only carbon-based entities are supported due to a limitation of AWS Appflow.
