StartSession - Amazon Athena

StartSession

Creates a session for running calculations within a workgroup. The session is ready when it reaches an IDLE state.

Request Syntax

{ "ClientRequestToken": "string", "Description": "string", "EngineConfiguration": { "AdditionalConfigs": { "string" : "string" }, "CoordinatorDpuSize": number, "DefaultExecutorDpuSize": number, "MaxConcurrentDpus": number, "SparkProperties": { "string" : "string" } }, "NotebookVersion": "string", "SessionIdleTimeoutInMinutes": number, "WorkGroup": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

ClientRequestToken

A unique case-sensitive string used to ensure the request to create the session is idempotent (executes only once). If another StartSessionRequest is received, the same response is returned and another session is not created. If a parameter has changed, an error is returned.

Important

This token is listed as not required because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS CLI, you must provide this token or the action will fail.

Type: String

Length Constraints: Minimum length of 32. Maximum length of 128.

Required: No

Description

The session description.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1024.

Required: No

EngineConfiguration

Contains engine data processing unit (DPU) configuration settings and parameter mappings.

Type: EngineConfiguration object

Required: Yes

NotebookVersion

The notebook version. This value is supplied automatically for notebook sessions in the Athena console and is not required for programmatic session access. The only valid notebook version is Athena notebook version 1. If you specify a value for NotebookVersion, you must also specify a value for NotebookId. See EngineConfiguration:AdditionalConfigs.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Required: No

SessionIdleTimeoutInMinutes

The idle timeout in minutes for the session.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 480.

Required: No

WorkGroup

The workgroup to which the session belongs.

Type: String

Pattern: [a-zA-Z0-9._-]{1,128}

Required: Yes

Response Syntax

{ "SessionId": "string", "State": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

SessionId

The session ID.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

State

The state of the session. A description of each state follows.

CREATING - The session is being started, including acquiring resources.

CREATED - The session has been started.

IDLE - The session is able to accept a calculation.

BUSY - The session is processing another task and is unable to accept a calculation.

TERMINATING - The session is in the process of shutting down.

TERMINATED - The session and its resources are no longer running.

DEGRADED - The session has no healthy coordinators.

FAILED - Due to a failure, the session and its resources are no longer running.

Type: String

Valid Values: CREATING | CREATED | IDLE | BUSY | TERMINATING | TERMINATED | DEGRADED | FAILED

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalServerException

Indicates a platform issue, which may be due to a transient condition or outage.

HTTP Status Code: 500

InvalidRequestException

Indicates that something is wrong with the input to the request. For example, a required parameter may be missing or out of range.

HTTP Status Code: 400

ResourceNotFoundException

A resource, such as a workgroup, was not found.

HTTP Status Code: 400

SessionAlreadyExistsException

The specified session already exists.

HTTP Status Code: 400

TooManyRequestsException

Indicates that the request was throttled.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: