AppSync

How I built a social network in 4 weeks with GraphQL and serverless

I have been involved with a client project to help the client launch a new social network for university students to engage with each other to do sports. Amongst other things, users can: Arrange activities and ask to join others’ activities (like a basketball match or to run in the park). There’s private messaging. Users …

How I built a social network in 4 weeks with GraphQL and serverless Read More »

AppSync Masterclass is open for early access!

I have some exciting news to share with you. That after some initial delays, the AppSync Masterclass is now open for Early Access with 40% launch discount. First of all, thank you so much for your patience, it’s taken us a bit longer than we expected but we’re here, at last. You can purchase the …

AppSync Masterclass is open for early access! Read More »

How to set up custom domain names for AppSync

I previously wrote about five reasons you should consider AppSync over API Gateway. One thing that API Gateway supports but you can’t do with AppSync out-of-the-box yet is custom domain names. Your shiny new AppSync API is available at XYZ.appsync-api.us-east-1.amazonaws.com/graphql, but you really want people to use your own domain instead because dev.example.com/graphql is much …

How to set up custom domain names for AppSync Read More »

How to model hierarchical access with AppSync

I have been working with a US client to build a first-of-its-kind app for managing medical consents. It falls under HIPAA compliance and it’s paramount that we do not allow unauthorized access to user data. As part of the app, we have built an admin tool that will be used by admin staff from the …

How to model hierarchical access with AppSync Read More »

How I scaled an AppSync project to 200+ resolvers

I have been working on a large AppSync project for a client these past few months. The initial version of the app was built in just a few weeks, but the client has commissioned additional features and the project has kept growing. At the time of writing, this project has over 200 AppSync resolvers and …

How I scaled an AppSync project to 200+ resolvers Read More »

AppSync: how to inject table names into DynamoDB batch & transact operations

When working with CloudFormation, AWS recommends not to give explicit names to resources and let CloudFormation name them for you. This has several advantages: It’s harder for attackers to guess resource names such as S3 buckets or DynamoDB tables. You can deploy the same stack multiple times to the same account. This is useful when …

AppSync: how to inject table names into DynamoDB batch & transact operations Read More »

AppSync: how to compare strings lexicographically in VTL

I had been working on a client project where I built the GraphQL backend for a new social network using primarily AppSync, Lambda and DynamoDB. One of the features of the app was to support private messaging between two users. To allow either user to fetch their chat messages in chronological descending order, I modelled …

AppSync: how to compare strings lexicographically in VTL Read More »

AppSync: how to error on DynamoDB conditional check failures

TL;DR To make an AppSync DynamoDB resolver throw exceptions on conditional check errors, we need to check $context.error in the response mapping template ourselves. Like this: #if ( $ctx.error ) #if ( $ctx.error.type.equals(“DynamoDB:ConditionalCheckFailedException”) ) $util.error(“your error message”) #else $util.error($ctx.error.message, $ctx.error.type) #end #end $utils.toJson($context.result) And now, the longer version. The problem AppSync lets us perform DynamoDB …

AppSync: how to error on DynamoDB conditional check failures Read More »

AppSync: skipping nullable nested resolvers by returning early

Whilst working on a client project, I ran into an interesting problem with AppSync which I couldn’t find an answer after a lot of googling. I hope this article can save you the same pain should you run into the same problem. The problem is that when you have a nullable nested field that you …

AppSync: skipping nullable nested resolvers by returning early Read More »

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close