UpdateResolver
Updates a Resolver
object.
Request Syntax
POST /v1/apis/apiId
/types/typeName
/resolvers/fieldName
HTTP/1.1
Content-type: application/json
{
"cachingConfig": {
"cachingKeys": [ "string
" ],
"ttl": number
},
"dataSourceName": "string
",
"kind": "string
",
"pipelineConfig": {
"functions": [ "string
" ]
},
"requestMappingTemplate": "string
",
"responseMappingTemplate": "string
",
"syncConfig": {
"conflictDetection": "string
",
"conflictHandler": "string
",
"lambdaConflictHandlerConfig": {
"lambdaConflictHandlerArn": "string
"
}
}
}
URI Request Parameters
The request uses the following URI parameters.
- apiId
-
The API ID.
Required: Yes
- fieldName
-
The new field name.
Length Constraints: Minimum length of 1. Maximum length of 65536.
Pattern:
[_A-Za-z][_0-9A-Za-z]*
Required: Yes
- typeName
-
The new type name.
Length Constraints: Minimum length of 1. Maximum length of 65536.
Pattern:
[_A-Za-z][_0-9A-Za-z]*
Required: Yes
Request Body
The request accepts the following data in JSON format.
- cachingConfig
-
The caching configuration for the resolver.
Type: CachingConfig object
Required: No
- dataSourceName
-
The new data source name.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 65536.
Pattern:
[_A-Za-z][_0-9A-Za-z]*
Required: No
- kind
-
The resolver type.
-
UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. A UNIT resolver enables you to execute a GraphQL query against a single data source.
-
PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you to execute a series of
Function
in a serial manner. You can use a pipeline resolver to execute a GraphQL query against multiple data sources.
Type: String
Valid Values:
UNIT | PIPELINE
Required: No
-
- pipelineConfig
-
The
PipelineConfig
.Type: PipelineConfig object
Required: No
- requestMappingTemplate
-
The new request mapping template.
A resolver uses a request mapping template to convert a GraphQL expression into a format that a data source can understand. Mapping templates are written in Apache Velocity Template Language (VTL).
VTL request mapping templates are optional when using a Lambda data source. For all other data sources, VTL request and response mapping templates are required.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 65536.
Required: No
- responseMappingTemplate
-
The new response mapping template.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 65536.
Required: No
- syncConfig
-
The
SyncConfig
for a resolver attached to a versioned datasource.Type: SyncConfig object
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"resolver": {
"cachingConfig": {
"cachingKeys": [ "string" ],
"ttl": number
},
"dataSourceName": "string",
"fieldName": "string",
"kind": "string",
"pipelineConfig": {
"functions": [ "string" ]
},
"requestMappingTemplate": "string",
"resolverArn": "string",
"responseMappingTemplate": "string",
"syncConfig": {
"conflictDetection": "string",
"conflictHandler": "string",
"lambdaConflictHandlerConfig": {
"lambdaConflictHandlerArn": "string"
}
},
"typeName": "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Errors
For information about the errors that are common to all actions, see Common Errors.
- ConcurrentModificationException
-
Another modification is in progress at this time and it must complete before you can make your change.
HTTP Status Code: 409
- InternalFailureException
-
An internal AWS AppSync error occurred. Try your request again.
HTTP Status Code: 500
- NotFoundException
-
The resource specified in the request was not found. Check the resource, and then try again.
HTTP Status Code: 404
- UnauthorizedException
-
You are not authorized to perform this operation.
HTTP Status Code: 401
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: