2025/02/11 - AWS AppSync - 3 updated api methods
Changes Add support for operation level caching
{'apiCachingBehavior': {'OPERATION_LEVEL_CACHING'}}Response
{'apiCache': {'apiCachingBehavior': {'OPERATION_LEVEL_CACHING'}}}
Creates a cache for the GraphQL API.
See also: AWS API Documentation
Request Syntax
client.create_api_cache( apiId='string', ttl=123, transitEncryptionEnabled=True|False, atRestEncryptionEnabled=True|False, apiCachingBehavior='FULL_REQUEST_CACHING'|'PER_RESOLVER_CACHING'|'OPERATION_LEVEL_CACHING', type='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', healthMetricsConfig='ENABLED'|'DISABLED' )
string
[REQUIRED]
The GraphQL API ID.
integer
[REQUIRED]
TTL in seconds for cache entries.
Valid values are 1–3,600 seconds.
boolean
Transit encryption flag when connecting to cache. You cannot update this setting after creation.
boolean
At-rest encryption flag for cache. You cannot update this setting after creation.
string
[REQUIRED]
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.
string
[REQUIRED]
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.
string
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 or DISABLED.
dict
Response Syntax
{ 'apiCache': { 'ttl': 123, 'apiCachingBehavior': 'FULL_REQUEST_CACHING'|'PER_RESOLVER_CACHING'|'OPERATION_LEVEL_CACHING', 'transitEncryptionEnabled': True|False, 'atRestEncryptionEnabled': True|False, 'type': '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', 'status': 'AVAILABLE'|'CREATING'|'DELETING'|'MODIFYING'|'FAILED', 'healthMetricsConfig': 'ENABLED'|'DISABLED' } }
Response Structure
(dict) --
Represents the output of a CreateApiCache operation.
apiCache (dict) --
The ApiCache object.
ttl (integer) --
TTL in seconds for cache entries.
Valid values are 1–3,600 seconds.
apiCachingBehavior (string) --
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.
transitEncryptionEnabled (boolean) --
Transit encryption flag when connecting to cache. You cannot update this setting after creation.
atRestEncryptionEnabled (boolean) --
At-rest encryption flag for cache. You cannot update this setting after creation.
type (string) --
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.
status (string) --
The cache instance status.
AVAILABLE: The instance is available for use.
CREATING: The instance is currently creating.
DELETING: The instance is currently deleting.
MODIFYING: The instance is currently modifying.
FAILED: The instance has failed creation.
healthMetricsConfig (string) --
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 or DISABLED.
{'apiCache': {'apiCachingBehavior': {'OPERATION_LEVEL_CACHING'}}}
Retrieves an ApiCache object.
See also: AWS API Documentation
Request Syntax
client.get_api_cache( apiId='string' )
string
[REQUIRED]
The API ID.
dict
Response Syntax
{ 'apiCache': { 'ttl': 123, 'apiCachingBehavior': 'FULL_REQUEST_CACHING'|'PER_RESOLVER_CACHING'|'OPERATION_LEVEL_CACHING', 'transitEncryptionEnabled': True|False, 'atRestEncryptionEnabled': True|False, 'type': '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', 'status': 'AVAILABLE'|'CREATING'|'DELETING'|'MODIFYING'|'FAILED', 'healthMetricsConfig': 'ENABLED'|'DISABLED' } }
Response Structure
(dict) --
Represents the output of a GetApiCache operation.
apiCache (dict) --
The ApiCache object.
ttl (integer) --
TTL in seconds for cache entries.
Valid values are 1–3,600 seconds.
apiCachingBehavior (string) --
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.
transitEncryptionEnabled (boolean) --
Transit encryption flag when connecting to cache. You cannot update this setting after creation.
atRestEncryptionEnabled (boolean) --
At-rest encryption flag for cache. You cannot update this setting after creation.
type (string) --
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.
status (string) --
The cache instance status.
AVAILABLE: The instance is available for use.
CREATING: The instance is currently creating.
DELETING: The instance is currently deleting.
MODIFYING: The instance is currently modifying.
FAILED: The instance has failed creation.
healthMetricsConfig (string) --
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 or DISABLED.
{'apiCachingBehavior': {'OPERATION_LEVEL_CACHING'}}Response
{'apiCache': {'apiCachingBehavior': {'OPERATION_LEVEL_CACHING'}}}
Updates the cache for the GraphQL API.
See also: AWS API Documentation
Request Syntax
client.update_api_cache( apiId='string', ttl=123, apiCachingBehavior='FULL_REQUEST_CACHING'|'PER_RESOLVER_CACHING'|'OPERATION_LEVEL_CACHING', type='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', healthMetricsConfig='ENABLED'|'DISABLED' )
string
[REQUIRED]
The GraphQL API ID.
integer
[REQUIRED]
TTL in seconds for cache entries.
Valid values are 1–3,600 seconds.
string
[REQUIRED]
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.
string
[REQUIRED]
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.
string
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 or DISABLED.
dict
Response Syntax
{ 'apiCache': { 'ttl': 123, 'apiCachingBehavior': 'FULL_REQUEST_CACHING'|'PER_RESOLVER_CACHING'|'OPERATION_LEVEL_CACHING', 'transitEncryptionEnabled': True|False, 'atRestEncryptionEnabled': True|False, 'type': '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', 'status': 'AVAILABLE'|'CREATING'|'DELETING'|'MODIFYING'|'FAILED', 'healthMetricsConfig': 'ENABLED'|'DISABLED' } }
Response Structure
(dict) --
Represents the output of a UpdateApiCache operation.
apiCache (dict) --
The ApiCache object.
ttl (integer) --
TTL in seconds for cache entries.
Valid values are 1–3,600 seconds.
apiCachingBehavior (string) --
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.
transitEncryptionEnabled (boolean) --
Transit encryption flag when connecting to cache. You cannot update this setting after creation.
atRestEncryptionEnabled (boolean) --
At-rest encryption flag for cache. You cannot update this setting after creation.
type (string) --
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.
status (string) --
The cache instance status.
AVAILABLE: The instance is available for use.
CREATING: The instance is currently creating.
DELETING: The instance is currently deleting.
MODIFYING: The instance is currently modifying.
FAILED: The instance has failed creation.
healthMetricsConfig (string) --
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 or DISABLED.