AWS AppSync

2025/02/11 - AWS AppSync - 3 updated api methods

Changes  Add support for operation level caching

CreateApiCache (updated) Link ¶
Changes (request, response)
Request
{'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'
)
type apiId:

string

param apiId:

[REQUIRED]

The GraphQL API ID.

type ttl:

integer

param ttl:

[REQUIRED]

TTL in seconds for cache entries.

Valid values are 1–3,600 seconds.

type transitEncryptionEnabled:

boolean

param transitEncryptionEnabled:

Transit encryption flag when connecting to cache. You cannot update this setting after creation.

type atRestEncryptionEnabled:

boolean

param atRestEncryptionEnabled:

At-rest encryption flag for cache. You cannot update this setting after creation.

type apiCachingBehavior:

string

param apiCachingBehavior:

[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.

type type:

string

param type:

[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.

type healthMetricsConfig:

string

param 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 or DISABLED.

rtype:

dict

returns:

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.

GetApiCache (updated) Link ¶
Changes (response)
{'apiCache': {'apiCachingBehavior': {'OPERATION_LEVEL_CACHING'}}}

Retrieves an ApiCache object.

See also: AWS API Documentation

Request Syntax

client.get_api_cache(
    apiId='string'
)
type apiId:

string

param apiId:

[REQUIRED]

The API ID.

rtype:

dict

returns:

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.

UpdateApiCache (updated) Link ¶
Changes (request, response)
Request
{'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'
)
type apiId:

string

param apiId:

[REQUIRED]

The GraphQL API ID.

type ttl:

integer

param ttl:

[REQUIRED]

TTL in seconds for cache entries.

Valid values are 1–3,600 seconds.

type apiCachingBehavior:

string

param apiCachingBehavior:

[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.

type type:

string

param type:

[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.

type healthMetricsConfig:

string

param 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 or DISABLED.

rtype:

dict

returns:

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.