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" }
  ]
});