Skip to content

StartJobRun

Source: src/AWS/EMRServerless/StartJobRun.ts

Runtime binding for emr-serverless:StartJobRun.

Submits a Spark or Hive job to the bound Application — the serverless equivalent of spark-submit. The application id is injected from the binding; the caller supplies the job driver, the execution role the job assumes, and optional configuration overrides. Grants iam:PassRole (conditioned to emr-serverless.amazonaws.com) so the function can hand the service the execution role. Provide the implementation with Effect.provide(AWS.EMRServerless.StartJobRunHttp).

// init — bind the operation to the application
const startJobRun = yield* AWS.EMRServerless.StartJobRun(app);
// runtime
const run = yield* startJobRun({
executionRoleArn: jobRoleArn,
jobDriver: {
sparkSubmit: {
entryPoint: "s3://my-scripts/etl.py",
entryPointArguments: ["--date", "2026-07-14"],
},
},
executionTimeoutMinutes: 60,
});
yield* Effect.log(`started ${run.jobRunId}`);