get Script
Use this data source to generate a Glue script from a Directed Acyclic Graph (DAG).
Example Usage
Generate Python Script
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.glue.GlueFunctions;
import com.pulumi.aws.glue.inputs.GetScriptArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var example = GlueFunctions.getScript(GetScriptArgs.builder()
.language("PYTHON")
.dagEdges(
GetScriptDagEdgeArgs.builder()
.source("datasource0")
.target("applymapping1")
.build(),
GetScriptDagEdgeArgs.builder()
.source("applymapping1")
.target("selectfields2")
.build(),
GetScriptDagEdgeArgs.builder()
.source("selectfields2")
.target("resolvechoice3")
.build(),
GetScriptDagEdgeArgs.builder()
.source("resolvechoice3")
.target("datasink4")
.build())
.dagNodes(
GetScriptDagNodeArgs.builder()
.id("datasource0")
.nodeType("DataSource")
.args(
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.source().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.source().name()))
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("applymapping1")
.nodeType("ApplyMapping")
.args(GetScriptDagNodeArgArgs.builder()
.name("mapping")
.value("[(\"column1\", \"string\", \"column1\", \"string\")]")
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("selectfields2")
.nodeType("SelectFields")
.args(GetScriptDagNodeArgArgs.builder()
.name("paths")
.value("[\"column1\"]")
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("resolvechoice3")
.nodeType("ResolveChoice")
.args(
GetScriptDagNodeArgArgs.builder()
.name("choice")
.value("\"MATCH_CATALOG\"")
.build(),
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.destination().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.destination().name()))
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("datasink4")
.nodeType("DataSink")
.args(
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.destination().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.destination().name()))
.build())
.build())
.build());
ctx.export("pythonScript", example.applyValue(getScriptResult -> getScriptResult.pythonScript()));
}
}
Content copied to clipboard
Generate Scala Code
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.glue.GlueFunctions;
import com.pulumi.aws.glue.inputs.GetScriptArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var example = GlueFunctions.getScript(GetScriptArgs.builder()
.language("SCALA")
.dagEdges(
GetScriptDagEdgeArgs.builder()
.source("datasource0")
.target("applymapping1")
.build(),
GetScriptDagEdgeArgs.builder()
.source("applymapping1")
.target("selectfields2")
.build(),
GetScriptDagEdgeArgs.builder()
.source("selectfields2")
.target("resolvechoice3")
.build(),
GetScriptDagEdgeArgs.builder()
.source("resolvechoice3")
.target("datasink4")
.build())
.dagNodes(
GetScriptDagNodeArgs.builder()
.id("datasource0")
.nodeType("DataSource")
.args(
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.source().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.source().name()))
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("applymapping1")
.nodeType("ApplyMapping")
.args(GetScriptDagNodeArgArgs.builder()
.name("mappings")
.value("[(\"column1\", \"string\", \"column1\", \"string\")]")
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("selectfields2")
.nodeType("SelectFields")
.args(GetScriptDagNodeArgArgs.builder()
.name("paths")
.value("[\"column1\"]")
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("resolvechoice3")
.nodeType("ResolveChoice")
.args(
GetScriptDagNodeArgArgs.builder()
.name("choice")
.value("\"MATCH_CATALOG\"")
.build(),
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.destination().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.destination().name()))
.build())
.build(),
GetScriptDagNodeArgs.builder()
.id("datasink4")
.nodeType("DataSink")
.args(
GetScriptDagNodeArgArgs.builder()
.name("database")
.value(String.format("\"%s\"", aws_glue_catalog_database.destination().name()))
.build(),
GetScriptDagNodeArgArgs.builder()
.name("table_name")
.value(String.format("\"%s\"", aws_glue_catalog_table.destination().name()))
.build())
.build())
.build());
ctx.export("scalaCode", example.applyValue(getScriptResult -> getScriptResult.scalaCode()));
}
}
Content copied to clipboard
Return
A collection of values returned by getScript.
Parameters
argument
A collection of arguments for invoking getScript.
suspend fun getScript(dagEdges: List<GetScriptDagEdge>, dagNodes: List<GetScriptDagNode>, language: String? = null): GetScriptResult
Return
A collection of values returned by getScript.
Parameters
dag Edges
List of the edges in the DAG. Defined below.
dag Nodes
List of the nodes in the DAG. Defined below.
language
Programming language of the resulting code from the DAG. Defaults to PYTHON
. Valid values are PYTHON
and SCALA
.
See also
Return
A collection of values returned by getScript.
Parameters
argument
Builder for com.pulumi.aws.glue.kotlin.inputs.GetScriptPlainArgs.