---
type: resource-type
title: Resolver
description: aws resource type AWS::AppSync::Resolver
name: Resolver
lexicon: aws
resource_type: AWS::AppSync::Resolver
---
`AWS::AppSync::Resolver`, a resource type of the aws lexicon.

## Properties

- `ApiId` (`string`, required): The APSYlong GraphQL API to which you want to attach this resolver.
- `FieldName` (`string`, required): The GraphQL field on a type that invokes the resolver.
- `TypeName` (`string`, required): The GraphQL type that invokes this resolver.
- `CachingConfig` (`Resolver_CachingConfig`, optional): The caching configuration for the resolver.
- `Code` (`string`, optional): The ``resolver`` code that contains the request and response functions. When code is used, the ``runtime`` is required. The runtime value must be ``APPSYNC_JS``.
- `CodeS3Location` (`string`, optional): The Amazon S3 endpoint.
- `DataSourceName` (`string`, optional): The resolver data source name.
- `Kind` (`string`, optional): The resolver type. + *UNIT*: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT resolver to run a GraphQL query against a single data source. + *PIPELINE*: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of ``Function`` objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against multiple data sources.
- `MaxBatchSize` (`number`, optional): The maximum number of resolver request inputs that will be sent to a single LAMlong function in a ``BatchInvoke`` operation.
- `MetricsConfig` (`"DISABLED" | "ENABLED"`, optional): Enables or disables enhanced resolver metrics for specified resolvers. Note that ``MetricsConfig`` won't be used unless the ``resolverLevelMetricsBehavior`` value is set to ``PER_RESOLVER_METRICS``. If the ``resolverLevelMetricsBehavior`` is set to ``FULL_REQUEST_RESOLVER_METRICS`` instead, ``MetricsConfig`` will be ignored. However, you can still set its value.
- `PipelineConfig` (`Resolver_PipelineConfig`, optional): Functions linked with the pipeline resolver.
- `RequestMappingTemplate` (`string`, optional): The request mapping template. Request mapping templates are optional when using a Lambda data source. For all other data sources, a request mapping template is required.
- `RequestMappingTemplateS3Location` (`string`, optional): The location of a request mapping template in an S3 bucket. Use this if you want to provision with a template file in S3 rather than embedding it in your CFNshort template.
- `ResolverArn` (`string`, optional)
- `ResponseMappingTemplate` (`string`, optional): The response mapping template.
- `ResponseMappingTemplateS3Location` (`string`, optional): The location of a response mapping template in an S3 bucket. Use this if you want to provision with a template file in S3 rather than embedding it in your CFNshort template.
- `Runtime` (`Resolver_AppSyncRuntime`, optional): Describes a runtime used by an APSYlong resolver or APSYlong function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.
- `SyncConfig` (`Resolver_SyncConfig`, optional): The ``SyncConfig`` for a resolver attached to a versioned data source.

## Attributes

- `ResolverArn`
