DynamoDB Client

ElectroDB supports both the v2 and v3 aws clients. The client can be supplied creating a new Entity or Service, or added to an Entity/Service instance via the setClient() method.

On the instantiation of an Entity:

import { Entity } from "electrodb";
import { DocumentClient } from "aws-sdk/clients/dynamodb";
const table = "my_table_name";
const client = new DocumentClient({
  region: "us-east-1",
});

const task = new Entity(
  {
    // your model
  },
  {
    client, // <----- client
    table,
  },
);

On the instantiation of an Service:

import { Entity } from "electrodb";
import { DocumentClient } from "aws-sdk/clients/dynamodb";
const table = "my_table_name";
const client = new DocumentClient({
  region: "us-east-1",
});

const task = new Entity({
  // your model
});

const user = new Entity({
  // your model
});

const service = new Service(
  { task, user },
  {
    client, // <----- client
    table,
  },
);

Via the setClient method:

import { Entity } from "electrodb";
import { DocumentClient } from "aws-sdk/clients/dynamodb";
const table = "my_table_name";
const client = new DocumentClient({
  region: "us-east-1",
});

const task = new Entity({
  // your model
});

task.setClient(client);

V2 Client

The v2 sdk will work out of the box with the DynamoDB DocumentClient.

Example:

import { DocumentClient } from "aws-sdk/clients/dynamodb";
const client = new DocumentClient({
  region: "us-east-1",
});

V3 Client

The v3 client will work out of the box with the DynamoDBClient.

import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
const client = new DynamoDBClient({
  region: "us-east-1",
});