Simple example with DynamoDB

Official Content

Consider the following Table defined using NoSQL Workbench.

SimpleExampleWithDynamoDB1

The Customer table has 3 elements. 

Id is the simple primary key. 

First, you need to export the data from NoSQL Workbench. 

Next, import the data into GeneXus.

Once the import process of the storage service is complete, the Customer Transaction is created.

SimpleExampleWithDynamoDB2

As you can see in the image:

  • GeneXus takes care of applying the naming rules to the attributes. They all start with the name Customer followed by the subject category. 
  • The data types are converted to the most appropriate ones. If you wish, you can modify data types. For example: define CustomerTimestap of DateTime type and CustomerAccount as Email. You can even define your own Domains. 

When you run it, the impact analysis will show a warning of type spc0116 (read about the restrictions for more details). Consequently, in the form the data is not sorted by Primary Key.

SimpleExampleWithDynamoDB3

When you click on Susan, for example, you will be able to see all her data and make updates if you need to. Any changes you make to the data will be reflected in DynamoDB.

Also, if you enter a new customer it is automatically saved in DynamoDB.

SimpleExampleWithDynamoDB4

In the above image, you can see that Susan's Service was updated and the customer Jake was entered into the DynamoDB Database. 

You can freely define queries that can be executed not only by executing the Transactions’ forms but also by making reference to them as Base Transaction in For Each commandsData Provider. In addition, it is possible to apply the Work With Patterns to the generated Transactions. Furthermore, the Transactions’ attributes can be used as regular attributes in Printblocks, Conditions, etc., in a transparent way.

Note: Due to restrictions of DynamoDB queries and the way GeneXus interacts with it, it is not possible to add an order when the partition key is not instantiated.