AWS
Last Authored: Monday, July 24th, 2023Dynamo DB
This extraction service allows you to store or fetch data coming from the Interaction service. In the REST API scenario, the GET routes you declare can fetch data from a Dynamo database table. On the other hand, for Shopify's Interaction services, this layer allows you to store data into a table.
Behind the Scenes
In order to deploy this extraction service, we ask for the following information:
Table Name
Once deployed, does the Table already exist
In REST API's case, what should the dynamic routes map to?
Table name simply allows the stack to understand where does/should the data live.
The selection of "Table already exists" indicates to the stack that it shouldn't create a new table. If the option is unselected, the stack will create the table and the required indexes. If the table exists, we allow you to do a Check on the UI simply to verify that the table actually exists in the selected region.
For REST API, we deploy the API Gateway with a native connection to Dynamo DB. It doesn't spawn any Lambda functions and queries the database via Apache VTL. Currently, we support only two implementation methods to fetch the data - Scan and Query. Paginated requests use the Scan method and dynamic routes use the Query method. The Check button also pulls a list of indexes and field that you can use if using dynamic routes. Adding new routes with dynamic parameters will create new indexes while deleting routes will delete assigned index of that route. If you would like to modify the dynamic parameter name i.e /route/{variableOne}
to /route/{variableTwo}
you first need to delete the route, deploy the app. Then come back to the app and add the new variable route.
Read the REST API to Dynamo DB tutorial to learn more.
If you are implementing this extraction service with Stripe or Shopify Integrations, this extraction service stores the data into a Dynamo Database table. Indexes come out of the box and will be created if the table doesn't exist on your AWS.
Read the Shopify Inventory Sync or Stripe Sync tutorial to learn more.