DataSource
The DataSource resource lets you manage AWS DataZone DataSources and their configuration settings.
Minimal Example
Section titled “Minimal Example”Create a basic DataSource with required properties and some common optional settings.
import AWS from "alchemy/aws/control";
const basicDataSource = await AWS.DataZone.DataSource("myBasicDataSource", { projectIdentifier: "myProjectIdentifier", name: "My Data Source", type: "S3", domainIdentifier: "myDomainIdentifier", publishOnImport: true, description: "This is a basic data source for demonstration purposes."});
Advanced Configuration
Section titled “Advanced Configuration”Configure a DataSource with advanced settings such as connection identifier and schedule configuration.
const advancedDataSource = await AWS.DataZone.DataSource("myAdvancedDataSource", { projectIdentifier: "myProjectIdentifier", name: "Advanced Data Source", type: "API", domainIdentifier: "myDomainIdentifier", connectionIdentifier: "myConnectionIdentifier", schedule: { frequency: "DAILY", time: "02:00" // UTC time }, configuration: { endpoint: "https://api.example.com/data", method: "GET", headers: { "Authorization": "Bearer myAccessToken" } }});
Data Source with Asset Forms
Section titled “Data Source with Asset Forms”Create a DataSource that includes asset forms for additional input parameters.
const dataSourceWithAssets = await AWS.DataZone.DataSource("myDataSourceWithAssets", { projectIdentifier: "myProjectIdentifier", name: "Data Source with Assets", type: "Database", domainIdentifier: "myDomainIdentifier", assetFormsInput: [ { form: { name: "Database Credentials", fields: [ { name: "username", type: "String", required: true }, { name: "password", type: "Secret", required: true } ] } } ], recommendation: { type: "AUTO", priority: "HIGH" }});
DataSource with Configuration
Section titled “DataSource with Configuration”Create a DataSource that specifies a configuration for data ingestion.
const configuredDataSource = await AWS.DataZone.DataSource("myConfiguredDataSource", { projectIdentifier: "myProjectIdentifier", name: "Configured Data Source", type: "Kafka", domainIdentifier: "myDomainIdentifier", configuration: { brokers: ["kafka-broker1:9092", "kafka-broker2:9092"], topic: "my-topic", groupId: "my-group-id" }, enableSetting: "AUTO_SCALING"});