# Cognito Export
A simple CLI tool and JavaScript package for exporting users from an AWS Cognito user pool.
This tool works perfectly with
cognito-import
. The user records exported match the import template to easily export from one user pool and import to another.
Please be vigilant in deleting any local CSV files after use. This is how security leaks happen!
- Use it as a CLI tool to export the users to a CSV file
npx cognito-export -u <user-pool-id> -v
- or, use it in Node.js
npm i cognito-export
import cognitoExport from "cognito-export";
const users = await cognitoExport({
userPoolId: "<user-pool-id>",
});
All flags and options can be found in the table below.
A full example of the CLI tool in effect can be found below:
npx cognito-export -u eu-west-1_aaaaaaaaa -p SOMEPROFILE -v
Flag | Description |
---|---|
-u, --user-pool-id | Required. The ID of the AWS Cognito user pool to export from |
-p, --profile PROFILEA | The AWS profile to use for authentication. This will default to the AWS_PROFILE environment variable if left blank, or default if that is undefined. |
-o, --output ./users.csv | The path to the output CSV file. Defaults to ./users.csv . |
-l, --limit 1000 | Limit the number of users outputted. Defaults to 1000 . |
-v, --verbose | Show all logs and errors in the console. Defaults to true . |
-h, --help | See all flags and options |
## 2. Node.js Example
A full example of the package in effect can be found below:
import cognitoExport from "cognito-export";
const users = await cognitoExport({
userPoolId: "eu-west-1_aaaaaaaaa",
profile: "SOMEPROFILE",
});
Please note: This method supports all flags documented above, except the output and help flags. Instead, the method returns the type-safe user records.
Use with cognito-import
npx cognito-export -u eu-west-1_aaaaaaaaa -p PROFILE_A &&
npx cognito-import -u eu-west-1_bbbbbbbbb -p PROFILE_B -f users.csv
or
import cognitoExport from "cognito-export";
import cognitoImport from "cognito-import";
const users = await cognitoExport({
userPoolId: "eu-west-1_aaaaaaaaa",
profile: "PROFILE_A",
});
await cognitoImport(users, {
jobId: "import-12345",
userPoolId: "eu-west-2_bbbbbbbbb",
profile: "PROFILE_B",
}).start();