Understand the special behaviors, limits, and recommendations for using the Salesforce Connect adapter for Amazon DynamoDB.
Required Editions
| Available in: both Salesforce Classic and Lightning Experience |
|
Available in: Developer Edition Available for an extra cost in: Enterprise, Performance, and Unlimited Editions |
- When you define an external object, you must specify the prefixes used in the keys. This enables applying a schema-like concept on top of Amazon DynamoDB data that’s inherently schema-less. See Amazon DynamoDB Developer Guide: Core Components of Amazon DynamoDB.
- When you define a DynamoDB external data source, you must manually set up metadata for the related external objects, and fields on the external objects.
- Not all relational-style SOQL queries can be translated in a way that returns
results in DynamoDB, such as table joins. Such queries can’t execute and may
cause a runtime error displayed in the Lightning UI.
Amazon DynamoDB delivers reliably fast performance at extremely high scale by mandating developers store data in a way that matches how it will be accessed. Typical relational databases don’t impose this restriction on development teams, but JOINs and subqueries at the very highest levels of scale become problematic. See Amazon DynamoDB Developer Guide: From SQL to NoSQL.
- External object fields map to a DynamoDB attribute value in its entirety, so any compound values with embedded keys are visible to the user.
- Salesforce Platform features that aren’t supported:
- Reports
- SOSL
- Sorting is only available based on the sort key of the underlying table in Amazon DynamoDB, or any secondary indexes defined for that table. See Sort Example for Orders and Order Items.
- Filtering isn't supported on virtual fields. Filtering is supported only for columns that are present in the DynamoDB data source.
- Certain operations, such as updates via Flows work only when the primary key for the mapped DynamoDB table is of type string.
- A SOQL query may cause a runtime error if:
- The query scans an Amazon DynamoDB table that is configured to prevent such scans.
- The query can’t be translated in a way that returns results in Amazon DynamoDB such as table joins. Because Amazon DynamoDB is a nonrelational database, it doesn't support table joins.
- We recommend consistent reads for working with Salesforce integration. For information reading data from a DynamoDB table, see Amazon DynamoDB Developer Guide: Read Consistency.
- Auto-numbering of identifiers isn’t supported. So DML operations must always include primary key fields.
- Asynchronous DML operations aren’t supported. Instead use the synchronous variant of the DML operations. Amazon DynamoDB database service is designed to run high-performance applications at any scale.
- For external lookups and indirect lookups on external objects:
- External Lookup Relationship: Look up an external parent by its primary key.
- Indirect Lookup Relationship: Look up a parent by key fields on the parent that uniquely identify a record. The child record holds the values to match for the parent unique field. For efficient queries, we recommend indexing parent key fields that uniquely identify the record and match the child record.
- External ID values that uniquely identify external object records are case sensitive.