View a markdown version of this page

CreateView - Amazon CloudWatch Omni

CreateView

Creates a new SQL view.

A view is a named, reusable SQL query that can be referenced from telemetry queries. View names must be unique within the account and region. Only USER views can be created — MANAGED views are provisioned by AWS.

Request Parameters

clientToken

Idempotency token for safe retries. Retrying with the same token returns the original view instead of creating a duplicate.

Type: String

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

Pattern: [!-~]+

Required: No

definition

The SQL query that defines the view.

Type: String

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

Required: Yes

description

A description of the view.

Type: String

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

Required: No

name

The name of the view. Must begin with the "view." prefix. View names must be unique within the account and region.

Type: String

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

Pattern: view\.[a-z0-9][a-z0-9_-]{0,250}

Required: Yes

tags

Resource tags.

Type: String to string map

Map Entries: Minimum number of 0 items. Maximum number of 50 items.

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

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Required: No

Response Elements

The following elements are returned by the service.

arn

The ARN of the view.

Type: String

createdAt

The timestamp when the view was created.

Type: Timestamp

definition

The SQL query that defines the view.

Type: String

description

The description of the view.

Type: String

name

The name of the view.

Type: String

type

The ownership category of the view.

Type: String

Valid Values: USER | MANAGED

updatedAt

The timestamp when the view was last updated.

Type: Timestamp

Errors

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

AccessDeniedException

The caller is not authorized to perform this action.

HTTP Status Code: 403

ConflictException

The operation could not be completed because of a conflict with the current state of the resource.

conflictType

The type of conflict that caused the request to fail. Not always present.

errorCode

The error code associated with the conflict. Not always present.

message

A human-readable description of the conflict.

resourceId

The identifier of the resource that is in conflict. Not always present.

resourceType

The type of the resource that is in conflict. Not always present.

HTTP Status Code: 409

InternalServerException

An unexpected error occurred while processing the request.

errorCode

The error code associated with the internal error.

HTTP Status Code: 500

ThrottlingException

The request was throttled due to exceeding the allowed request rate.

retryAfterSeconds

The number of seconds to wait before retrying the request. Not always present.

HTTP Status Code: 429

ValidationException

A parameter is specified incorrectly.

errorCode

The error code associated with the validation failure.

HTTP Status Code: 400

Examples

Create a view

The following example creates a user view that saves an error-count-by-service query. View names must begin with the view. prefix and be unique within the account and Region. Payloads are shown as JSON; on the wire they are CBOR-encoded.

Sample Request

{ "clientToken": "3f2a9c1e-7b04-4d8a-9e15-6c2b8d0f4a73", "definition": "SELECT resource['attributes']['service.name'] AS service, COUNT(*) AS error_count FROM "logs.default" WHERE severityText = 'ERROR' GROUP BY service", "description": "Error counts by service", "name": "view.service_errors", "tags": { "Team": "observability" } }

Sample Response

{ "arn": "arn:aws:cloudwatch:us-east-1:123456789012:view/view.service_errors", "createdAt": "2026-09-16T14:22:31Z", "definition": "SELECT resource['attributes']['service.name'] AS service, COUNT(*) AS error_count FROM "logs.default" WHERE severityText = 'ERROR' GROUP BY service", "description": "Error counts by service", "name": "view.service_errors", "type": "USER", "updatedAt": "2026-09-16T14:22:31Z" }

See Also

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