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 forNotebookVersion
, you must also specify a value forNotebookId
. 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: