AWS Cognito developers - have you ever tried exporting all users in a User Pool to a CSV file? Ouch.

We are active users of AWS, and often stumble across blockers. Creating solutions is our thing, and our approach when using AWS is no different.

1 min read

Written by
Owen Richards

Chief Product Nerd

Owen Profile
code image

AWS Cognito is incredible at what it does. Industry-standard and scalable user authentication, with so many features available with a single click.

In basic terms, AWS is a collection of cloud services that interlock to make a million different things. Like Lego for computing. Whatever you need to build, there are pieces to fit it all together somehow. It is one big shed filled with tools made to help you build a house.

I recently came across three problems when working on a Big Lemon product:

  1. User attributes are not type-safe, even though most attributes are generally universal (plus custom attributes). Cognito offers Name and Value types that include optional strings, and that’s it.

  2. Exporting users doesn’t match the CSV format for importing users, and you can only export 60 users at a time.

  3. Importing users requires very specific CSV formatting rules, but you’re not notified until the job fails, with no tools to validate the import data.

So I made a few tools to solve these problems.

I have documented the solutions in detail over on our Big Lemon Developer Blog.

These tools are fairly new, so they currently perform specific tasks. We are keen to hear any opinions or challenges on working with AWS Cognito to understand how these packages could evolve further.

Please feel free to comment on the article directly in the Big Lemon Developer Blog, or open an issue in Github.

Never stop learning folks!