DynamoDb

Store AgentOS sessions, memory, knowledge, evals, and traces in Amazon DynamoDB.

DynamoDb implements the Db interface with DynamoDB tables for Agent, Team, and Workflow sessions, memories, knowledge, metrics, evals, traces, and spans. Tables are created on first use with the required global secondary indexes.

ParameterTypeDefaultDescription
idOptional[str]-Database ID. Derived deterministically from explicit client or constructor region/key values when omitted.
db_clientOptional[Any]-The DynamoDB client to use.
region_nameOptional[str]-AWS region name.
aws_access_key_idOptional[str]-AWS access key ID.
aws_secret_access_keyOptional[str]-AWS secret access key.
session_tableOptional[str]-The name of the session table.
runs_tableOptional[str]NoneStorage name for individual runs. Defaults to agno_runs, or <session_table>_runs when a custom session name is supplied.
memory_tableOptional[str]-The name of the memory table.
metrics_tableOptional[str]-The name of the metrics table.
eval_tableOptional[str]-The name of the eval table.
knowledge_tableOptional[str]-The name of the knowledge table.
traces_tableOptional[str]-The name of the traces table.
spans_tableOptional[str]-The name of the spans table.

Methods

upsert_sessions

Upsert multiple sessions in one method call.

Parameters:

  • sessions (List[Session]): List of sessions to upsert
  • deserialize (Optional[bool]): Whether to deserialize the sessions. Defaults to True
  • preserve_updated_at (bool): Request preservation of the sessions' existing updated_at timestamps; see adapter limitations below. Defaults to False

Returns: List[Union[Session, Dict[str, Any]]]

upsert_memories

Upsert multiple memories in one method call.

Parameters:

  • memories (List[UserMemory]): List of memories to upsert
  • deserialize (Optional[bool]): Whether to deserialize the memories. Defaults to True
  • preserve_updated_at (bool): Request preservation of the memories' existing updated_at timestamps; see adapter limitations below. Defaults to False

Returns: List[Union[UserMemory, Dict[str, Any]]]

Timestamp preservation by adapter

JsonDb, GcsJsonDb, FirestoreDb, RedisDb, DynamoDb, and InMemoryDb accept preserve_updated_at but do not forward it to their individual upserts. Their bulk methods replace timestamps even when it is True.

PostgresDb, SingleStoreDb, and ValkeyDb honor the flag. MySQLDb, SqliteDb, and MongoDb honor it on their optimized bulk path; their per-record fallback paths do not forward it. Verify timestamps when a migration depends on preserving them.