aws / aws/serverless-application-model
How can I attach a resolver to a field in Appsync with SAM?
- Dominant language
- Python
- Stars
- 9.6k
- Forks
- 2.5k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 7
Description
I have a GraphQL schema with a query. The query uses a lambda resolver that connects to a REST API and fetches the data. I want to have the field `TimeSchedules` on the type `AccessGroup` to use a different resolver and I've managed to get this to work in the console but it doesn't seem to be possible with SAM.
Parts of schema:
```
type Query {
getAccessGroup(site: ID!, id: ID!): AccessGroup
}
type AccessGroup {
id: ID!
customerReference: String!
lockCount: Int!
userCount: Int!
TimeSchedules: TimeSchedulesResults
}
```
On the REST Api access groups have time schedules but they're two different calls, and as I don't always need the latter, I think it's better to have it like this.
In SAM, I've tried this:
```
GraphQLVBVAAPI:
Type: AWS::Serverless::GraphQLApi
Properties:
SchemaUri: ./graphql/schema.graphql
Resolvers:
Query:
getAccessGroup:
Runtime:
Name: APPSYNC_JS
Version: "1.0.0"
Pipeline:
- lambdaResolver
AccessGroup:
Runtime:
Name: APPSYNC_JS
Version: "1.0.0"
Pipeline:
- lambdaResolver
```
But then I get an error saying
>No field named AccessGroup found on type Query
This is quite easy in the Console where I can just attach a resolver to the spesific field itself.
Any suggestions?
Contributor guide
Assessment
This issue has not been assessed yet.