Skip to content
GitHubXDiscord

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.

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

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

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

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

Create a DataIntegration that uses file configuration for data processing.

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

Demonstrate how to utilize tagging for better resource management.

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