Skip to content

DataIntegration

The DataIntegration resource allows you to manage AWS AppIntegrations DataIntegrations, enabling seamless data flow between AWS services and applications. For more detailed information, refer to the AWS AppIntegrations DataIntegrations documentation.

Minimal Example

Create a basic DataIntegration with required properties and a common optional property.

ts
import AWS from "alchemy/aws/control";

const minimalDataIntegration = await AWS.AppIntegrations.DataIntegration("basicDataIntegration", {
  sourceURI: "s3://my-data-source-bucket/data.csv",
  kmsKey: "arn:aws:kms:us-east-1:123456789012:key/abcd1234-56ef-78gh-90ij-klmnopqrst",
  name: "BasicDataIntegration",
  scheduleConfig: {
    scheduleExpression: "rate(5 minutes)"
  }
});

Advanced Configuration

Configure a DataIntegration with advanced settings, including object configuration and tagging.

ts
const advancedDataIntegration = await AWS.AppIntegrations.DataIntegration("advancedDataIntegration", {
  sourceURI: "s3://my-data-source-bucket/advanced-data.csv",
  kmsKey: "arn:aws:kms:us-east-1:123456789012:key/abcd1234-56ef-78gh-90ij-klmnopqrst",
  name: "AdvancedDataIntegration",
  objectConfiguration: {
    objectType: "MyCustomObject",
    fieldMappings: {
      "field1": "sourceField1",
      "field2": "sourceField2"
    }
  },
  tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Project", Value: "DataIngestion" }
  ]
});

Using File Configuration

Create a DataIntegration that uses file configuration for data processing.

ts
const fileConfiguredDataIntegration = await AWS.AppIntegrations.DataIntegration("fileConfiguredDataIntegration", {
  sourceURI: "s3://my-file-data-source-bucket/files/",
  kmsKey: "arn:aws:kms:us-east-1:123456789012:key/abcd1234-56ef-78gh-90ij-klmnopqrst",
  name: "FileConfiguredDataIntegration",
  fileConfiguration: {
    fileType: "CSV",
    delimiter: ","
  }
});

Tagging for Resource Management

Demonstrate how to utilize tagging for better resource management.

ts
const taggedDataIntegration = await AWS.AppIntegrations.DataIntegration("taggedDataIntegration", {
  sourceURI: "s3://my-tagged-data-source-bucket/data.json",
  kmsKey: "arn:aws:kms:us-east-1:123456789012:key/abcd1234-56ef-78gh-90ij-klmnopqrst",
  name: "TaggedDataIntegration",
  tags: [
    { Key: "Department", Value: "Analytics" },
    { Key: "Owner", Value: "DataTeam" }
  ]
});