CreateSessionCommand

Creates a new session.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { GlueClient, CreateSessionCommand } from "@aws-sdk/client-glue"; // ES Modules import
// const { GlueClient, CreateSessionCommand } = require("@aws-sdk/client-glue"); // CommonJS import
const client = new GlueClient(config);
const input = { // CreateSessionRequest
  Id: "STRING_VALUE", // required
  Description: "STRING_VALUE",
  Role: "STRING_VALUE", // required
  Command: { // SessionCommand
    Name: "STRING_VALUE",
    PythonVersion: "STRING_VALUE",
  },
  Timeout: Number("int"),
  IdleTimeout: Number("int"),
  DefaultArguments: { // OrchestrationArgumentsMap
    "<keys>": "STRING_VALUE",
  },
  Connections: { // ConnectionsList
    Connections: [ // OrchestrationStringList
      "STRING_VALUE",
    ],
  },
  MaxCapacity: Number("double"),
  NumberOfWorkers: Number("int"),
  WorkerType: "Standard" || "G.1X" || "G.2X" || "G.025X" || "G.4X" || "G.8X" || "Z.2X",
  SecurityConfiguration: "STRING_VALUE",
  GlueVersion: "STRING_VALUE",
  Tags: { // TagsMap
    "<keys>": "STRING_VALUE",
  },
  RequestOrigin: "STRING_VALUE",
};
const command = new CreateSessionCommand(input);
const response = await client.send(command);
// { // CreateSessionResponse
//   Session: { // Session
//     Id: "STRING_VALUE",
//     CreatedOn: new Date("TIMESTAMP"),
//     Status: "PROVISIONING" || "READY" || "FAILED" || "TIMEOUT" || "STOPPING" || "STOPPED",
//     ErrorMessage: "STRING_VALUE",
//     Description: "STRING_VALUE",
//     Role: "STRING_VALUE",
//     Command: { // SessionCommand
//       Name: "STRING_VALUE",
//       PythonVersion: "STRING_VALUE",
//     },
//     DefaultArguments: { // OrchestrationArgumentsMap
//       "<keys>": "STRING_VALUE",
//     },
//     Connections: { // ConnectionsList
//       Connections: [ // OrchestrationStringList
//         "STRING_VALUE",
//       ],
//     },
//     Progress: Number("double"),
//     MaxCapacity: Number("double"),
//     SecurityConfiguration: "STRING_VALUE",
//     GlueVersion: "STRING_VALUE",
//     NumberOfWorkers: Number("int"),
//     WorkerType: "Standard" || "G.1X" || "G.2X" || "G.025X" || "G.4X" || "G.8X" || "Z.2X",
//     CompletedOn: new Date("TIMESTAMP"),
//     ExecutionTime: Number("double"),
//     DPUSeconds: Number("double"),
//     IdleTimeout: Number("int"),
//     ProfileName: "STRING_VALUE",
//   },
// };

CreateSessionCommand Input

See CreateSessionCommandInput for more details

Parameter
Type
Description
Command
Required
SessionCommand | undefined

The SessionCommand that runs the job.

Id
Required
string | undefined

The ID of the session request.

Role
Required
string | undefined

The IAM Role ARN

Connections
ConnectionsList | undefined

The number of connections to use for the session.

DefaultArguments
Record<string, string> | undefined

A map array of key-value pairs. Max is 75 pairs.

Description
string | undefined

The description of the session.

GlueVersion
string | undefined

The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0.

IdleTimeout
number | undefined

The number of minutes when idle before session times out. Default for Spark ETL jobs is value of Timeout. Consult the documentation for other job types.

MaxCapacity
number | undefined

The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.

NumberOfWorkers
number | undefined

The number of workers of a defined WorkerType to use for the session.

RequestOrigin
string | undefined

The origin of the request.

SecurityConfiguration
string | undefined

The name of the SecurityConfiguration structure to be used with the session

Tags
Record<string, string> | undefined

The map of key value pairs (tags) belonging to the session.

Timeout
number | undefined

The number of minutes before session times out. Default for Spark ETL jobs is 48 hours (2880 minutes). Consult the documentation for other job types.

WorkerType
WorkerType | undefined

The type of predefined worker that is allocated when a job runs. Accepts a value of G.1X, G.2X, G.4X, or G.8X for Spark jobs. Accepts the value Z.2X for Ray notebooks.

  • For the G.1X worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.

  • For the G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.

  • For the G.4X worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in the following Amazon Web Services Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm).

  • For the G.8X worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs, in the same Amazon Web Services Regions as supported for the G.4X worker type.

  • For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.

CreateSessionCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
Session
Session | undefined

Returns the session object in the response.

Throws

Name
Fault
Details
AccessDeniedException
client

Access to a resource was denied.

AlreadyExistsException
client

A resource to be created or added already exists.

IdempotentParameterMismatchException
client

The same unique identifier was associated with two different records.

InternalServiceException
server

An internal service error occurred.

InvalidInputException
client

The input provided was not valid.

OperationTimeoutException
client

The operation timed out.

ResourceNumberLimitExceededException
client

A resource numerical limit was exceeded.

ValidationException
client

A value could not be validated.

GlueServiceException
Base exception class for all service exceptions from Glue service.