Skip to content
GitHubXDiscord

DevEndpoint

The DevEndpoint resource allows you to create and manage AWS Glue DevEndpoints, which are used to develop and test ETL scripts in AWS Glue. For more information, see the AWS Glue DevEndpoints documentation.

Create a basic Glue DevEndpoint with required properties and common optional settings.

import AWS from "alchemy/aws/control";
const devEndpoint = await AWS.Glue.DevEndpoint("myDevEndpoint", {
roleArn: "arn:aws:iam::123456789012:role/MyGlueRole",
numberOfNodes: 2,
workerType: "G.1X",
subnetId: "subnet-0abcdef1234567890",
securityGroupIds: ["sg-0abcdef1234567890"]
});

Configure a DevEndpoint with additional options, including extra JARs and Python libraries.

const advancedDevEndpoint = await AWS.Glue.DevEndpoint("advancedDevEndpoint", {
roleArn: "arn:aws:iam::123456789012:role/MyGlueRole",
numberOfWorkers: 5,
glueVersion: "2.0",
extraJarsS3Path: "s3://my-glue-libs/my-additional-jars.jar",
extraPythonLibsS3Path: "s3://my-glue-libs/my-additional-libs.zip",
publicKeys: ["ssh-rsa AAAAB3..."],
tags: {
Project: "ETL",
Environment: "Development"
}
});

Demonstrate how to pass custom arguments to the DevEndpoint for specific configurations.

const customArgsDevEndpoint = await AWS.Glue.DevEndpoint("customArgsDevEndpoint", {
roleArn: "arn:aws:iam::123456789012:role/MyGlueRole",
arguments: {
"--key1": "value1",
"--key2": "value2"
},
numberOfNodes: 3,
subnetId: "subnet-0abcdef1234567890",
securityGroupIds: ["sg-0abcdef1234567890"]
});

Create a DevEndpoint with a specific security configuration, including custom security groups.

const secureDevEndpoint = await AWS.Glue.DevEndpoint("secureDevEndpoint", {
roleArn: "arn:aws:iam::123456789012:role/MyGlueRole",
securityConfiguration: "mySecurityConfig",
securityGroupIds: ["sg-0abcdef1234567890"],
subnetId: "subnet-0abcdef1234567890",
numberOfNodes: 2,
endpointName: "secure-endpoint"
});