CustomPlugin ​
The CustomPlugin resource enables you to manage AWS KafkaConnect CustomPlugins for extending the functionality of your Kafka Connect deployments.
Minimal Example ​
Create a basic CustomPlugin with required properties and a description.
ts
import AWS from "alchemy/aws/control";
const basicCustomPlugin = await AWS.KafkaConnect.CustomPlugin("basicCustomPlugin", {
name: "MyCustomPlugin",
contentType: "application/java-archive",
location: {
s3: {
bucketArn: "arn:aws:s3:::my-custom-plugin-bucket",
objectKey: "plugins/my-plugin.jar"
}
},
description: "A basic custom plugin for Kafka Connect"
});
Advanced Configuration ​
Configure a CustomPlugin with tags for better resource management.
ts
const advancedCustomPlugin = await AWS.KafkaConnect.CustomPlugin("advancedCustomPlugin", {
name: "MyAdvancedCustomPlugin",
contentType: "application/java-archive",
location: {
s3: {
bucketArn: "arn:aws:s3:::my-advanced-plugin-bucket",
objectKey: "plugins/my-advanced-plugin.jar"
}
},
tags: [
{ key: "Environment", value: "Production" },
{ key: "Department", value: "DataEngineering" }
],
description: "An advanced custom plugin with tags for resource management"
});
Plugin for Data Transformation ​
Create a CustomPlugin specifically for transforming data formats.
ts
const transformationCustomPlugin = await AWS.KafkaConnect.CustomPlugin("transformationCustomPlugin", {
name: "MyTransformationPlugin",
contentType: "application/java-archive",
location: {
s3: {
bucketArn: "arn:aws:s3:::my-transformation-plugin-bucket",
objectKey: "plugins/my-transformation-plugin.jar"
}
},
description: "A custom plugin for data transformation in Kafka Connect"
});
Plugin with Adoption ​
Create a CustomPlugin that adopts an existing resource instead of failing.
ts
const adoptCustomPlugin = await AWS.KafkaConnect.CustomPlugin("adoptCustomPlugin", {
name: "MyAdoptedCustomPlugin",
contentType: "application/java-archive",
location: {
s3: {
bucketArn: "arn:aws:s3:::my-adopted-plugin-bucket",
objectKey: "plugins/my-adopted-plugin.jar"
}
},
adopt: true, // Adopt existing resource
description: "A custom plugin that adopts an existing resource"
});