AppSync / Client / create_api_cache

create_api_cache#

AppSync.Client.create_api_cache(**kwargs)#

Creates a cache for the GraphQL API.

See also: AWS API Documentation

Request Syntax

response = client.create_api_cache(
    apiId='string',
    ttl=123,
    transitEncryptionEnabled=True|False,
    atRestEncryptionEnabled=True|False,
    apiCachingBehavior='FULL_REQUEST_CACHING'|'PER_RESOLVER_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'
)
Parameters:
  • apiId (string) –

    [REQUIRED]

    The GraphQL API ID.

  • ttl (integer) –

    [REQUIRED]

    TTL in seconds for cache entries.

    Valid values are 1–3,600 seconds.

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

  • apiCachingBehavior (string) –

    [REQUIRED]

    Caching behavior.

    • FULL_REQUEST_CACHING: All requests are fully cached.

    • PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.

  • type (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.

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

Return type:

dict

Returns:

Response Syntax

{
    'apiCache': {
        'ttl': 123,
        'apiCachingBehavior': 'FULL_REQUEST_CACHING'|'PER_RESOLVER_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 are fully cached.

        • PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.

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

Exceptions

  • AppSync.Client.exceptions.BadRequestException

  • AppSync.Client.exceptions.ConcurrentModificationException

  • AppSync.Client.exceptions.NotFoundException

  • AppSync.Client.exceptions.UnauthorizedException

  • AppSync.Client.exceptions.InternalFailureException