Skip to content
GitHubXDiscord

WorkerConfiguration

The WorkerConfiguration resource lets you manage AWS KafkaConnect WorkerConfigurations and their settings.

Create a basic WorkerConfiguration with required properties and one optional property.

import AWS from "alchemy/aws/control";
const workerConfig = await AWS.KafkaConnect.WorkerConfiguration("basicWorkerConfig", {
PropertiesFileContent: `
bootstrap.servers=my-broker:9092
group.id=my-group
`,
Description: "Basic worker configuration for Kafka Connect",
Name: "basic-worker-configuration"
});

Configure a WorkerConfiguration with additional properties such as tags for better organization.

const advancedWorkerConfig = await AWS.KafkaConnect.WorkerConfiguration("advancedWorkerConfig", {
PropertiesFileContent: `
bootstrap.servers=my-broker:9092
group.id=my-group
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
`,
Description: "Advanced worker configuration with converters",
Tags: [
{ Key: "Environment", Value: "Production" },
{ Key: "Team", Value: "DataEngineering" }
],
Name: "advanced-worker-configuration"
});

Create a WorkerConfiguration that adopts an existing resource instead of failing if the resource already exists.

const adoptWorkerConfig = await AWS.KafkaConnect.WorkerConfiguration("adoptWorkerConfig", {
PropertiesFileContent: `
bootstrap.servers=my-broker:9092
group.id=my-group
`,
Description: "Worker configuration that adopts existing resource",
Name: "adopted-worker-configuration",
adopt: true
});

Demonstrate how to handle version changes in your WorkerConfiguration.

const versionedWorkerConfig = await AWS.KafkaConnect.WorkerConfiguration("versionedWorkerConfig", {
PropertiesFileContent: `
bootstrap.servers=my-broker:9092
group.id=my-group
value.converter=org.apache.kafka.connect.avro.AvroConverter
`,
Description: "Worker configuration with Avro converter",
Name: "versioned-worker-configuration"
});
// Update the configuration to a new version
const updatedWorkerConfig = await AWS.KafkaConnect.WorkerConfiguration("versionedWorkerConfig", {
PropertiesFileContent: `
bootstrap.servers=my-broker:9092
group.id=my-group
value.converter=org.apache.kafka.connect.json.JsonConverter
`,
Description: "Updated worker configuration with JSON converter",
Name: "versioned-worker-configuration"
});