create_api_cache
¶
create_api_cache(
api_id: String,
ttl: Long,
api_caching_behavior: ApiCachingBehavior,
type: ApiCacheType,
*,
config_overrides: Optional[AppSyncClientConfig] = None,
transit_encryption_enabled: Optional[Boolean] = None,
at_rest_encryption_enabled: Optional[Boolean] = None,
health_metrics_config: Optional[CacheHealthMetricsConfig] = None,
) -> CreateApiCacheResponse
Creates a cache for the GraphQL API.
Parameters:
-
api_id(String) –The GraphQL API ID.
-
ttl(Long) –TTL in seconds for cache entries.
Valid values are 1–3,600 seconds.
-
transit_encryption_enabled(Optional[Boolean], default:None) –Transit encryption flag when connecting to cache. You cannot update this setting after creation.
-
at_rest_encryption_enabled(Optional[Boolean], default:None) –At-rest encryption flag for cache. You cannot update this setting after creation.
-
api_caching_behavior(ApiCachingBehavior) –Caching behavior.
-
FULL_REQUEST_CACHING: All requests from the same user are cached. Individual resolvers are automatically cached. All API calls will try to return responses from the cache.
-
PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.
-
OPERATION_LEVEL_CACHING: Full requests are cached together and returned without executing resolvers.
-
-
type(ApiCacheType) –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.
-
-
health_metrics_config(Optional[CacheHealthMetricsConfig], default:None) –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
ENABLEDorDISABLED. -
Raises:
-
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.
-
ConcurrentModificationException–Another modification is in progress at this time and it must complete before you can make your change.
-
InternalFailureException–An internal AppSync error occurred. Try your request again.
-
NotFoundException–The resource specified in the request was not found. Check the resource, and then try again.
-
UnauthorizedException–You aren't authorized to perform this operation.
-
UnknownServiceError–The service returned an error code this client does not model.