Skip to content

Latest commit

 

History

History
76 lines (52 loc) · 3.22 KB

File metadata and controls

76 lines (52 loc) · 3.22 KB

DynamoDB Item Conversion

Version

1.0.0

Changelog

  • 1.0.0

    • Initial record

Definitions

Conventions used in this document

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

Overview

This document describes how a DynamoDB Item is converted to the Structured Encryption Library's Structured Data, and vice versa.

Round Trip conversion between DDB Item and Structured Data is technically lossless, but it is not identity. The conversion normalizes some values, the same way that DynamoDB PuItem followed by GetItem normalizes some values. The sets still have the same members, and the numbers still have the same values, but the members of the set might appear in a different order, and the numeric value might be formatted differently.

Convert DDB Item to Structured Data

A Structured Data converted from a DynamoDB Item has the following requirements:

Convert Structured Data to DDB Item

In order to convert to a DynamoDB Item, Structured Data adheres to the following:

  • This Structured Data Map, if not empty,
  • MUST NOT have any Key strings that are invalid DynamoDB AttributeNames, that is, with more than 65535 characters.

A DynamoDB Item converted from a Structured Data has the following requirements:

Duplicates

  • Conversion from a Structured Data Map MUST fail if it has duplicate keys
  • Conversion from a Structured Data Number Set MUST fail if it has duplicate values
  • Conversion from a Structured Data String Set MUST fail if it has duplicate values
  • Conversion from a Structured Data Binary Set MUST fail if it has duplicate values