Skip to content

WorkerConfiguration ​

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

Minimal Example ​

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

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

Advanced Configuration ​

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

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

Resource Adoption ​

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

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

Version Management ​

Demonstrate how to handle version changes in your WorkerConfiguration.

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