Migrate from Amazon DynamoDB to Qdrant

What You Need from AWS

  • Table name: the DynamoDB table containing your items
  • Vector index name: the vector index to migrate
  • AWS credentials: configured via aws configure or environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION)

Run the Migration

docker run --net=host --rm -it \
    -e AWS_ACCESS_KEY_ID='your-access-key' \
    -e AWS_SECRET_ACCESS_KEY='your-secret-key' \
    -e AWS_REGION='us-east-1' \
    registry.cloud.qdrant.io/library/qdrant-migration dynamodb \
    --dynamodb.table 'your-table-name' \
    --dynamodb.index 'your-vector-index-name' \
    --qdrant.url 'https://your-instance.cloud.qdrant.io:6334' \
    --qdrant.api-key 'your-qdrant-api-key' \
    --qdrant.collection 'your-collection'

All DynamoDB-Specific Flags

FlagRequiredDescription
--dynamodb.tableYesDynamoDB table name
--dynamodb.indexYesDynamoDB vector index name

AWS credentials are passed via environment variables or the default AWS credential chain, not CLI flags.

Qdrant-Side Options

FlagDefaultDescription
--qdrant.id-field__id__Payload field name for the original DynamoDB primary key
--qdrant.vector-name(empty)Target vector name. When empty, the unnamed vector is used

Gotchas

  • Credential handling: AWS credentials must be available inside the container. Pass them as environment variables with -e flags or mount your ~/.aws directory.
  • Region matters: Ensure the AWS_REGION environment variable matches the region of your DynamoDB table.

Next Steps

After migration, verify your data arrived correctly with the Migration Verification Guide.

Was this page useful?

Thank you for your feedback! 🙏

We are sorry to hear that. 😔 You can edit this page on GitHub, or create a GitHub issue.