CreateApiCache
Creates a cache for the GraphQL API.
Request Syntax
POST /v1/apis/apiId
/ApiCaches HTTP/1.1
Content-type: application/json
{
"apiCachingBehavior": "string
",
"atRestEncryptionEnabled": boolean
,
"healthMetricsConfig": "string
",
"transitEncryptionEnabled": boolean
,
"ttl": number
,
"type": "string
"
}
URI Request Parameters
The request uses the following URI parameters.
- apiId
-
The GraphQL API ID.
Required: Yes
Request Body
The request accepts the following data in JSON format.
- apiCachingBehavior
-
Caching behavior.
-
FULL_REQUEST_CACHING: All requests are fully cached.
-
PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.
Type: String
Valid Values:
FULL_REQUEST_CACHING | PER_RESOLVER_CACHING
Required: Yes
-
- atRestEncryptionEnabled
-
At-rest encryption flag for cache. You cannot update this setting after creation.
Type: Boolean
Required: No
- healthMetricsConfig
-
Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:
-
NetworkBandwidthOutAllowanceExceeded: The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration.
-
EngineCPUUtilization: The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration.
Metrics will be recorded by API ID. You can set the value to
ENABLED
orDISABLED
.Type: String
Valid Values:
ENABLED | DISABLED
Required: No
-
- transitEncryptionEnabled
-
Transit encryption flag when connecting to cache. You cannot update this setting after creation.
Type: Boolean
Required: No
- ttl
-
TTL in seconds for cache entries.
Valid values are 1–3,600 seconds.
Type: Long
Required: Yes
- type
-
The cache instance type. Valid values are
-
SMALL
-
MEDIUM
-
LARGE
-
XLARGE
-
LARGE_2X
-
LARGE_4X
-
LARGE_8X
(not available in all regions) -
LARGE_12X
Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.
The following legacy instance types are available, but their use is discouraged:
-
T2_SMALL: A t2.small instance type.
-
T2_MEDIUM: A t2.medium instance type.
-
R4_LARGE: A r4.large instance type.
-
R4_XLARGE: A r4.xlarge instance type.
-
R4_2XLARGE: A r4.2xlarge instance type.
-
R4_4XLARGE: A r4.4xlarge instance type.
-
R4_8XLARGE: A r4.8xlarge instance type.
Type: String
Valid Values:
T2_SMALL | T2_MEDIUM | R4_LARGE | R4_XLARGE | R4_2XLARGE | R4_4XLARGE | R4_8XLARGE | SMALL | MEDIUM | LARGE | XLARGE | LARGE_2X | LARGE_4X | LARGE_8X | LARGE_12X
Required: Yes
-
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"apiCache": {
"apiCachingBehavior": "string",
"atRestEncryptionEnabled": boolean,
"healthMetricsConfig": "string",
"status": "string",
"transitEncryptionEnabled": boolean,
"ttl": number,
"type": "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.
Errors
For information about the errors that are common to all actions, see Common Errors.
- BadRequestException
-
The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and then try again.
HTTP Status Code: 400
- ConcurrentModificationException
-
Another modification is in progress at this time and it must complete before you can make your change.
HTTP Status Code: 409
- InternalFailureException
-
An internal AWS AppSync error occurred. Try your request again.
HTTP Status Code: 500
- NotFoundException
-
The resource specified in the request was not found. Check the resource, and then try again.
HTTP Status Code: 404
- UnauthorizedException
-
You aren't authorized to perform this operation.
HTTP Status Code: 401
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: