You can use various qualifier options to parse an Amazon DynamoDB table into an external object by applying filters to the table rows and performing lightweight transformations of the returned data.
Required Editions
| Available in: both Salesforce Classic and Lightning Experience (not for high-data-volume external objects) |
|
Available in: Developer Edition Available for an extra cost in: Enterprise, Performance, and Unlimited Editions |
The following is the syntax for a JSON qualifier expression.
TableLocation ::=
"tableLocationName": "tableLocationValue" |
"tableLocationName": {TableLocation(, TableLocation)*}
NamedColumnQualifier ::=
"columnName": {ColumnQualifier(, ColumnQualifier)*}
ColumnQualifier ::=
"columnName": "physicalColumnName" |
"type": ("S" | "N" | "BOOL") |
"presence": ("exists" | "null" | "not null" | "not exists" | "any") |
"virtual": (true | false) |
"filter": "sqlLikeExpression" |
"postFilter": "matchRegex" |
"values": [ValueDefinition(, ValueDefinition)*]
ValueDefinition ::=
{ValueQualifier,( ValueQualifier)*}
ValueQualifier ::=
"definition": "functionDefinition" |
"columnOrder": ["ColumnName"(, "ColumnName")*]
TableLocation: Specific set of properties for a data source type that are used to locate the table. For example, database name and database catalog.NamedColumnQualifier: Default value for the columnName isNamedColumnQualifier’s column name. If theColumnQualifieris virtual,columnNameis not specified.-
ColumnQualifiercolumnName: Name of the external physical attribute, column, or field.type: Some field types may be mapped to more than one attribute type. For example, dates may be mapped as an ISO 8601 string (default) or as a Unix epoch number.You can’t use the
typequalifier to override field types to incompatible attribute types. For example, a field of type number can’t be mapped to an attribute type of string.presence: Represents whether the attribute must be present, null (be present and null), not null (be present but not null), absent, or any (presence isn’t relevant). Default value is any.Amazon DynamoDB server evaluates the presence criteria and translates it as part of the PartiQL query.
virtual: If true, the attribute doesn't physically exist in the external data source. Default value is false. Virtual attributes are derived from external attributes using thevaluesformula.Use virtual attributes to transform encoded or composed attributes, such as transforming a sort key attribute to a user-friendly value. You can recompose physical attribute values by defining value functions with virtual attribute values, for example to create or update records.
filter: An expression evaluated by the Amazon DynamoDB server to filter matching items. Allowed expressions for Amazon DynamoDB:- equals:
ExactValue - begins with:
LeftValue% - contains:
%MiddleValue%
Ends with or other substring matches aren't supported.
- equals:
postFilter: An expression that runs after the query results are obtained from the Amazon DynamoDB service. Though the postFilter expression refines matching result records, use qualifiers such aspresenceandfilterfor better performance.Back-references (for example, "\1") and lazy quantifiers (for example, "*?") aren’t supported for performance reasons.
values: A list of candidate Salesforce formula functions that derive the attribute value from other attributes. For example, encoding sort keys and deriving composed keys.
ValueDefinition: Contains an array of value qualifiers.-
ValueQualifierdefinition: A candidate value defined using Salesforce formula functions. A formula function can be a constant expression or can depend on one or more attribute values.columnOrder: The lexical attribute order of the derived attribute value. The lexical order determines the field sort order in SOQL.