CreateFunction
Creates a Function
object.
A function is a reusable entity. You can use multiple functions to compose the resolver logic.
Request Syntax
POST /apis/apiId
/functions HTTP/1.1
Content-type: application/json
{
"code": "string
",
"dataSourceName": "string
",
"description": "string
",
"functionVersion": "string
",
"maxBatchSize": number
,
"name": "string
",
"requestMappingTemplate": "string
",
"responseMappingTemplate": "string
",
"runtime": {
"name": "string
",
"runtimeVersion": "string
"
},
"syncConfig": {
"conflictDetection": "string
",
"conflictHandler": "string
",
"lambdaConflictHandlerConfig": {
"lambdaConflictHandlerArn": "string
"
}
}
}
URI Request Parameters
The request uses the following URI parameters.
- apiId
-
The GraphQL API ID.
Required: Yes
Request Body
The request accepts the following data in JSON format.
- code
-
The
function
code that contains the request and response functions. When code is used, theruntime
is required. Theruntime
value must beAPPSYNC_JS
.Type: String
Length Constraints: Minimum length of 1. Maximum length of 32768.
Required: No
- dataSourceName
-
The
Function
DataSource
name.Type: String
Length Constraints: Minimum length of 1. Maximum length of 65536.
Pattern:
[_A-Za-z][_0-9A-Za-z]*
Required: Yes
- description
-
The
Function
description.Type: String
Required: No
- functionVersion
-
The
version
of the request mapping template. Currently, the supported value is 2018-05-29. Note that when using VTL and mapping templates, thefunctionVersion
is required.Type: String
Required: No
- maxBatchSize
-
The maximum batching size for a resolver.
Type: Integer
Valid Range: Minimum value of 0. Maximum value of 2000.
Required: No
- name
-
The
Function
name. The function name does not have to be unique.Type: String
Length Constraints: Minimum length of 1. Maximum length of 65536.
Pattern:
[_A-Za-z][_0-9A-Za-z]*
Required: Yes
- requestMappingTemplate
-
The
Function
request mapping template. Functions support only the 2018-05-29 version of the request mapping template.Type: String
Length Constraints: Minimum length of 1. Maximum length of 65536.
Pattern:
^.*$
Required: No
- responseMappingTemplate
-
The
Function
response mapping template.Type: String
Length Constraints: Minimum length of 1. Maximum length of 65536.
Pattern:
^.*$
Required: No
- runtime
-
Describes a runtime used by an Amazon AppSync pipeline resolver or Amazon AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.
Type: AppSyncRuntime object
Required: No
- syncConfig
-
Describes a Sync configuration for a resolver.
Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked.
Type: SyncConfig object
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"functionConfiguration": {
"code": "string",
"dataSourceName": "string",
"description": "string",
"functionArn": "string",
"functionId": "string",
"functionVersion": "string",
"maxBatchSize": number,
"name": "string",
"requestMappingTemplate": "string",
"responseMappingTemplate": "string",
"runtime": {
"name": "string",
"runtimeVersion": "string"
},
"syncConfig": {
"conflictDetection": "string",
"conflictHandler": "string",
"lambdaConflictHandlerConfig": {
"lambdaConflictHandlerArn": "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.
- functionConfiguration
-
The
Function
object.Type: FunctionConfiguration object
Errors
For information about the errors that are common to all actions, see Common Errors.
- BadRequestException
-
The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and then try again.
HTTP Status Code: 400
- 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 Amazon 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 aren't authorized to perform this operation.
HTTP Status Code: 401
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: