CreateSessionLogger
Creates a session logger.
Request Syntax
POST /sessionLoggers HTTP/1.1
Content-type: application/json
{
"additionalEncryptionContext": {
"string
" : "string
"
},
"clientToken": "string
",
"customerManagedKey": "string
",
"displayName": "string
",
"eventFilter": { ... },
"logConfiguration": {
"s3": {
"bucket": "string
",
"bucketOwner": "string
",
"folderStructure": "string
",
"keyPrefix": "string
",
"logFileFormat": "string
"
}
},
"tags": [
{
"Key": "string
",
"Value": "string
"
}
]
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- additionalEncryptionContext
-
The additional encryption context of the session logger.
Type: String to string map
Key Length Constraints: Minimum length of 0. Maximum length of 131072.
Key Pattern:
[\s\S]*
Value Length Constraints: Minimum length of 0. Maximum length of 131072.
Value Pattern:
[\s\S]*
Required: No
- clientToken
-
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request. If you do not specify a client token, one is automatically generated by the AWS SDK.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 512.
Required: No
- customerManagedKey
-
The custom managed key of the session logger.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:key\/[a-zA-Z0-9-]+
Required: No
- displayName
-
The human-readable display name for the session logger resource.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[ _\-\d\w]+
Required: No
- eventFilter
-
The filter that specifies the events to monitor.
Type: EventFilter object
Note: This object is a Union. Only one member of this object can be specified or returned.
Required: Yes
- logConfiguration
-
The configuration that specifies where logs are delivered.
Type: LogConfiguration object
Required: Yes
-
The tags to add to the session logger.
Type: Array of Tag objects
Array Members: Minimum number of 0 items. Maximum number of 200 items.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"sessionLoggerArn": "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.
- sessionLoggerArn
-
The ARN of the session logger.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\/[a-fA-F0-9\-]{36})+
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
Access is denied.
HTTP Status Code: 403
- ConflictException
-
There is a conflict.
HTTP Status Code: 409
- InternalServerException
-
There is an internal server error.
HTTP Status Code: 500
- ServiceQuotaExceededException
-
The service quota has been exceeded.
HTTP Status Code: 402
- ThrottlingException
-
There is a throttling error.
HTTP Status Code: 429
- ValidationException
-
There is a validation error.
HTTP Status Code: 400
Examples
Sample request for all events
The following is a sample requests to capture all events.
{ "eventFilter": { "all": {} }, "logConfiguration": { "s3": { "bucket": "my-bucket", "keyPrefix": "my-prefix", "logFileFormat": "Json", "folderStructure": "Flat" } }, "displayName": "my-session-logger" }
Sample request for a few events
The following is a sample requests to capture a few events.
{ "eventFilter": { "include": ["UrlLoad", "SessionStart", "ContentPasteToWebsite"] }, "logConfiguration": { "s3": { "bucket": "my-bucket", "keyPrefix": "my-prefix", "logFileFormat": "Json", "folderStructure": "Flat" } }, "displayName": "my-session-logger" }
Sample request to use a bucket in a different account
The following is a sample request to send events to a bucket owned by a different account.
{ "eventFilter": { "all": {} }, "logConfiguration": { "s3": { "bucket": "bucket-in-account-000000000000", "bucketOwner": "000000000000", "keyPrefix": "my-prefix", "logFileFormat": "Json", "folderStructure": "Flat" } }, "displayName": "my-session-logger" }
Sample Response
The following is a sample response.
{ "sessionLoggerArn": "arn:aws:workspaces-web:us-east-1:123456789012:sessionLogger/my-session-logger-id" }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: