1.0.0
-
1.0.0
- Initial record
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.
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.
A Structured Data converted from a DynamoDB Item has the following requirements:
-
MUST contain a Structured Data Terminal for each attribute on the DynamoDB Item, and no others.
-
The Terminal Type ID for each attribute MUST be the Type ID of the serialization of this Attribute Value.
-
The Terminal Value for each attribute MUST be the Value of the serialization of this Attribute Value.
-
The Structured Data Terminal MUST be located at the top level of the Structured Data, string indexed by the Attribute Name.
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:
-
MUST contain an Attribute for every Structured Data Terminal on the Structured Data, and no other Attributes.
-
Each Attribute MUST be deserializable according to the serialization scheme.
- 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