DynamoDB
Last updated
Last updated
IMPORTANT: This is an advanced module. Some setup is required before use.
This module uses the supported third-party service Amazon DynamoDB. The module allows you to integrate a DynamoDB database into your application to store and retrieve data during a call.
You can select and use any DynamoDB integration that has been added to your Fuse account.
NOTE: Integrations are shared with all users in a Fuse account. You can always check existing integrations by going to the My Account page and viewing the Integrations tab.
To use this module, you must have an account with AWS (Amazon Web Services). You must also have a working Amazon DynamoDB table added as an integration to your Fuse account.
Complete the following in order:
Get an AWS account. (Website)
Set up a working database with Amazon DynamoDB. (AWS documentation)
Set up an IAM user with access keys and an IAM policy for DynamoDB. (Guide)
Admin-only task: Add your DynamoDB database as an integration in the My Account page.
The DynamoDB module displays different fields depending on the database function selected. All fields are required. Supported functions are as follows:
Select (default): Returns records from the row(s) matching your query.
Insert: Creates a new row containing your specified columns and values.
Update: Updates one or more existing records in the row(s) matching your query.
Select one of these functions in the module's top left dropdown menu. The following sections describe each function's specific module fields.
This function returns records for one or more rows in your selected DynamoDB integration's table.
As shown in Figure 2a, the following fields are displayed for the Select function:
Database function: Select a different function. Other options are Insert or Update.
ROW IN: Select a DynamoDB integration.
WHERE: Select one of the following to determine query behavior:
ALL: Returns rows that match all of your conditions.
ANY: Returns rows that match one of your conditions.
Column (condition): Select a column to be compared against the Value field.
Operator (condition): Select a comparison operator.
Available operators are as follows:
=
Equals
>
Greater than
<
Less than
≥
Greater than or equal to
≤
Less than or equal to
Value (condition): Enter a value as a string, integer, variable, or boolean.
This function adds a new row to your DynamoDB table. This new row will contain any records that you specify. Column values can be inserted into new columns and/or existing ones.
As shown in Figure 2b, the following fields are displayed for the Insert function:
Database function: Select a different function. Other options are Select or Update.
ROW INTO: Select a DynamoDB integration.
Column: Existing columns in the database will be displayed here automatically.
If inserting a new column, enter the desired column name as a string.
For existing columns, this field cannot be edited.
Value: Enter a value as a string, integer, variable, or boolean.
This function changes existing records in one or more rows of your DynamoDB table.
As shown in Figure 2c, the following fields are displayed for the Update function:
Database function: Select a different function. Other options are Select or Insert.
ROW IN: Select a DynamoDB integration. Its table row(s) will be evaluated based on the conditions selected in the remaining fields.
Column: Enter an updated column name as a string, or select an existing column name.
Value: Enter an updated value for the column. Strings, integers, and variables are accepted.
WHERE Column (condition): Enter or select the existing column to be updated.
WHERE Operator (condition): Select an operator. Available operators are as follows:
=
Equals
>
Greater than
<
Less than
≥
Greater than or equal to
≤
Less than or equal to
WHERE Value (condition): Enter a value to be used to evaluate which entries to update.
Format: module_name[index_number].[column_name]
Example: CallerQuery[0].product_id
See Shadow Variables for more information on this variable type in general.
Enable this setting to play audio while an end-user is on hold. To upload a file for hold music, go to Application Settings > Connection Settings > Webservices > Webservice fetch audio.
This allows users to set the maximum time, in seconds, that elapse before returning a timeout error. This applies to modules that fetch outside scripts, like the SOAP, REST, or subdialog modules. The default value for Timeout Length is 30 seconds. Acceptable number values range from 1 to 120.
This setting controls the logging function of a module. Enabling the 'Private' setting instructs the module to not record, report, or retain the information input to that module for reporting or any other purposes. When enabled any information entered into a module during a call will be lost immediately when the call terminates. The 'Private' setting is critical for businesses that need to maintain PCI-DSS or HIPAA compliance. The module icon, in the upper left-hand corner, becomes grayed-out when this setting is enabled. See more details here.
Once finished, the DynamoDB module can be used successfully.
Add/Remove button : Select to add (+) or remove (-) a query condition: one line of Column, Operator, and Value fields. One condition is available by default.
Add/Remove button : Select to add (+) or remove (-) one line of Column and Value fields. One line is available by default.
Add/Remove button : Select to add (+) or remove (-) one line of Column and Value fields. One line is available by default.
Add/Remove button : Select to add (+) or remove (-) a query condition (one line of Column, Operator, and Value fields). One condition is available by default.
Table data returned by a DynamoDB module is formatted in a zero-indexed array, which you can access through shadow variables. You can write these shadow variables by using the names of any column(s) returned and the module itself. The $
symbol is not used here.
Enabling this setting overrides the default, global error options set in the Application Settings > User Input Settings. This allows users to establish custom error handling in order to act on errors in a specific way in that module. Instead of progressing to the next module in the call-flow, custom error handling allows users to re-prompt the same module, to provide a custom error message, to re-direct the call based on the error, or any other desired behavior. Adding multiple errors () to a module functions behave the same way as a counter. The first error follows the path for the first error listed, if a second error occurs in the same module it follows the second listed error, and so on until all errors are exhausted or an error directs the end-user away from that module. No Input occurs when the caller does not provide an input based on the timeout settings. This is based on the “Initial input timeout” in User Input Settings. No Match occurs when the caller input does not match the module's criteria for the input module.