Skip to content

DataIntegration

Source: src/AWS/AppIntegrations/DataIntegration.ts

An Amazon AppIntegrations data integration. Data integrations reference an external data source (an S3 bucket, or a SaaS application through Amazon AppFlow) so services like Amazon Q in Connect can ingest its content.

The KMS key, source URI, schedule, file configuration, and object configuration are immutable; changing any of them replaces the data integration. Only the name and description can be updated in place.

S3 Data Integration

import * as AppIntegrations from "alchemy/AWS/AppIntegrations";
import * as KMS from "alchemy/AWS/KMS";
import * as S3 from "alchemy/AWS/S3";
const bucket = yield* S3.Bucket("Content");
const key = yield* KMS.Key("ContentKey");
const integration = yield* AppIntegrations.DataIntegration("Content", {
kmsKey: key.keyArn,
sourceURI: Output.interpolate`s3://${bucket.bucketName}`,
});

Scheduled SaaS Data Integration

const integration = yield* AppIntegrations.DataIntegration("Salesforce", {
kmsKey: key.keyArn,
sourceURI: "Salesforce://AppFlow/my-connector-profile",
scheduleConfig: {
firstExecutionFrom: "2024-01-01T00:00:00Z",
object: "Account",
scheduleExpression: "rate(1 hours)",
},
});