Generic Resource
PEPPERI NOTIFICATION SERVICE
ADAL Import Export
Actions Queue
CPI Node
TODO training

Create Schema

Fields

Fields are needed only for "searchable" fields - if you plan to search on them you need to mention them. It is better to use minimum number of fields. not supported for cpi_meta_data type.

Indexes & Sorting

The cpi_meta_data allows sorting & filter on the following (but not on any other): CreationDateTime, ModificationDateTime, Hidden and Key.

All the other types work as the following.

Every Type has certain indexes. These indexes can be used to improve selection performance & to sort the results. Only one index can used per query.

The sort_by field in the GET request will be used as the index (default is Key).

The index used in the query will improve selection on that field. But there are certain limitations on the selection of that field. The selection on that field can only have simple operators (<,>,=), and cannot be contained in an logical OR (eg. IndexField = '1' OR OtherField = '2'), and can only appear once in the selection string. If one of these conditions are broken the query will return an error.

Table Types

meta_data (default)

Store meta data. Use for addon configuration, where access is by key. Supports OwnerUUID header (X-Pepperi-OwnerID mandatory header), that every entry in the table has a OwnerUUID, and that once it is created with the Owner it can only be updated with the Owner.

data

Store server-side operational data. Indexed only by CreationDateTime.

cpi_meta_data

Store addon configuration that is needed in the cpi-side as well Implemented using UDT. saved in UDT table ExternalID = 'ADDON_CPI_SIDE_DATA'

cpi_meta_data does not implement drop table function and not implement where on schema Fields properties

indexed_data

Store operational server-side data that needs to be indexed. You can choose 4 fields to be indexed. Three of them Type: String and one Integer (number).

The indexes need to be defined as part of the create schema Fields parameter, for example: "Fields":{a1: {Type: String, Indexed: true}, {a2:{Type: String}} } - a1 is indexed property and a2 is non indexed property

Index cannot be changed

Type

meta_data

data

cpi_meta_data

indexed_data

ownerID

mandatory

no

?

no

upsert perf

x+a

x

y

x+

query key perf

a

a

b

a

where

scan

scan

not supported

indexed + scan

change schema

yes

yes

yes (no meaning)

excluding indexes

available on CPI

no

no

yes

no

Fields

yes

yes

no

yes

post

https://api.pepperi.com/addons/data/schemes
This endpoint allows you to create table schema in DynamoDB
Request
Response
Request
Headers
X-Pepperi-ActionID
optional
string
action uuid for logging
X-Pepperi-SecretKey
required
string
addon secret key
X-Pepperi-OwnerID
required
string
addon owner uuid
Body Parameters
optional
object
same as response parameter
Response
200: OK
Cake successfully retrieved.
{
"Hidden":false, //readonly
"CreationDateTime":"1-1-2012", //readonly, index
"ModificationDateTime":"", // readonly
"Name": "{Table}", // mandatory field
"Type": data/meta_data // default type: "meta_data" "cpi_meta_data"
"Fields": {a1: {Type: String}, a2: {Type: String}}, // Columns enabled for search, Type can be String/Bool/DateTime/Integer/Double/MultipleStringValues
"Validator": /addon/api...,
}