Question: Should you make a new DynamoDB client for each request?

Answered by Rafal Wilinski
Last updated: October 23rd, 2026
Answer
No. Reuse a DynamoDB SDK client for requests that share the same Region, endpoint and credential configuration. Creating a fresh client for every call can discard reusable HTTP connections and add setup latency.
In Node.js, create the v3 client once at module scope and wrap it in a reusable DynamoDBDocumentClient. In Lambda, initialize it outside the handler so later invocations in the same execution environment can reuse it. Put request-specific keys and values in command objects, not in mutable shared application state.
AWS SDK for JavaScript v3 reuses TCP connections by default in Node.js. You generally do not need a pool of separate DynamoDB client objects. Configure request timeouts, retries and HTTP concurrency on the shared client when the workload needs them.
Create separate clients when configurations genuinely differ, such as different Regions, local testing endpoints or distinct credential providers. Prefer refreshable credential providers over copying expiring credentials into a static object.
Client thread-safety differs by SDK and abstraction. For example, do not assume boto3 resource objects have the same sharing guarantees as clients. Check your language's documentation before sharing across threads or processes, and close resources at application shutdown where required.
See connection pooling and Node.js examples.
Source: AWS connection reuse.
Other Common DynamoDB FAQ (with Answers)
- How to access DynamoDB from EC2?
- Is a DynamoDB table Region-specific?
- How do you store Japanese characters in DynamoDB?
- What are the differences between DynamoDB and Google Bigtable?
- What are the differences between DynamoDB and Snowflake?
- What is the maximum number of partitions in DynamoDB?
- How do you store location coordinates in DynamoDB?
- Does DynamoDB support Multi-AZ?
- How to import data from S3 to DynamoDB?
- What are the key differences between DynamoDB and Neo4j?
- Can DynamoDB store blob data?
- Can Power BI connect to DynamoDB?
- How do you handle empty strings in DynamoDB?
- How do you parallelize requests in DynamoDB?
- Is DynamoDB serverless?
Dynobase is a Professional GUI Client for DynamoDB
Start your 7-day free trial today
Product Features
DynamoDB Tools
- SSH GUI Client
- Chat With Cloud
- MongoDB GUI Client
- AWS Cost Monitoring
- DynamoDB Query Builder
- DynamoDB Code Examples
- DynamoDB Node.js Queries
- DynamoDB JSON Converter
- DynamoDB UUID Generator
- DynamoDB Local Admin GUI
- DynamoDB Pricing Calculator
- DynamoDB Single-Table Design
- Best DynamoDB GUI Clients
- Dynobase vs DynoTable