BizTalk Adapter for Amazon DynamoDB

Build 20.0.7654

Connection Properties

Connection String Options  

The connection string properties describe the various options that can be used to establish a connection.

Adapter

CData.BizTalk.AmazonDynamoDBAdapter.dll

Remarks

The connection string can be set to a series of option=value strings separated by semicolons. If a connection string property value has special characters such as semicolons, single quotes, spaces, etc., then you must quote the value using either single or double quotes.

Connection options are case insensitive.

Obtaining the Access Key

To obtain the credentials for an IAM user, follow the steps below:

  1. Sign into the IAM console.
  2. In the navigation pane, select Users.
  3. To create or manage the access keys for a user, select the user and then select the Security Credentials tab.

To obtain the credentials for your AWS root account, follow the steps below:

  1. Sign into the AWS Management console with the credentials for your root account.
  2. Select your account name or number and select My Security Credentials in the menu that is displayed.
  3. Click Continue to Security Credentials and expand the Access Keys section to manage or create root account access keys.

Authenticating with Root Credentials

To authenticate using account root credentials, set the following:

Note: Use of this authentication scheme is discouraged by Amazon for anything but simple tests. The account root credentials have the full permissions of the user, making this the least secure authentication method.

Authenticating with Temporary Credentials

To authenticate using temporary credentials, specify the following:

  • AuthScheme: Set this to TemporaryCredentials.
  • AWSAccessKey: The access key of the IAM user to assume the role for.
  • AWSSecretKey: The secret key of the IAM user to assume the role for.
  • AWSSessionToken: Your AWS session token. This will have been provided alongside your temporary credentials. See this link for more info.

The adapter can now request resources using the same permissions provided by long-term credentials (such as IAM user credentials) for the lifespan of the temporary credentials.

If you are also using an IAM role to authenticate, you must additionally specify the following:

  • AWSRoleARN: Specify the Role ARN for the role you'd like to authenticate with. This will cause the adapter to attempt to retrieve credentials for the specified role.
  • AWSExternalId: Only if required when you assume a role in another account.

Authenticating from an EC2 Instance

If you are using the adapter from an EC2 Instance and have an IAM Role assigned to the instance, you can use the IAM Role to authenticate. To do so, set the following properties to authenticate:

Leave AWSAccessKey and AWSSecretKey empty. The adapter will automatically obtain your IAM Role credentials and authenticate with them.

If you are also using an IAM role to authenticate, you must additionally specify the following:

  • AWSRoleARN: Specify the Role ARN for the role you'd like to authenticate with. This will cause the adapter to attempt to retrieve credentials for the specified role.
  • AWSExternalId: Only if required when you assume a role in another account.

Authenticating as an AWS Role

In many situations it may be preferable to use an IAM role for authentication instead of the direct security credentials of an AWS root user.

To authenticate as an AWS role, set the following:

  • AuthScheme: Set this to AwsIAMRoles.
  • AWSRoleARN: Specify the Role ARN for the role you'd like to authenticate with. This will cause the adapter to attempt to retrieve credentials for the specified role.
  • AWSExternalId: Only if required when you assume a role in another account.
If you are connecting to AWS (instead of already being connected such as on an EC2 instance), you must additionally specify the following:
  • AWSAccessKey: The access key of the IAM user to assume the role for.
  • AWSSecretKey: The secret key of the IAM user to assume the role for.

Note: Roles may not be used when specifying the AWSAccessKey and AWSSecretKey of an AWS root user.

Authenticating with MFA

For users and roles that require Multi-factor Authentication, specify the following to authenticate:

  • AuthScheme: Set this to AwsMFA.
  • CredentialsLocation: The location of the settings file where MFA credentials are saved. See the Credentials File Location page under Connection String Options for more information.
  • MFASerialNumber: The serial number of the MFA device if one is being used.
  • MFAToken: The temporary token available from your MFA device.
If you are connecting to AWS (instead of already being connected such as on an EC2 instance), you must additionally specify the following:
  • AWSAccessKey: The access key of the IAM user for whom MFA will be issued.
  • AWSSecretKey: The secret key of the IAM user whom MFA will be issued.
If you are also using an IAM role to authenticate, you must additionally specify the following:
  • AWSRoleARN: Specify the Role ARN for the role you'd like to authenticate with. This will cause the adapter to attempt to retrieve credentials for the specified role using MFA.
  • AWSExternalId: Only if required when you assume a role in another account.
This will cause the adapter to submit the MFA credentials in a request to retrieve temporary authentication credentials.

Note that the duration of the temporary credentials may be controlled via the TemporaryTokenDuration property (default 3600 seconds).

Connecting to DynamoDB

Once you have configured the adapter for your desired authentication method, you can optionally set the following to refine data access:

  • Domain: Set this if you want to use a domain name you have associated with AWS.
  • AWSRegion: Set this to the region where your Amazon DynamoDB data is hosted.

Connection String Options


The following is the full list of the options you can configure in the connection string for this provider. Click on the links for further details.

Auth SchemeThe scheme used for authentication. Accepted entries are: Auto, , AwsRootKeys , AwsIAMRoles , AwsEC2Roles , AwsMFA , AwsCredentialsFile.
Auto CacheAutomatically caches the results of SELECT queries into a cache database specified by either CacheLocation or both of CacheConnection and CacheProvider .
Auto Detect IndexA boolean indicating if secondary indexes should be automatically detected based on the query used.
AWS Access KeyYour AWS account access key. This value is accessible from your AWS security credentials page.
AWS Credentials FileThe path to the AWS Credentials File to be used for authentication.
AWS Credentials File ProfileThe name of the profile to be used from the supplied AWSCredentialsFile.
AWS External IdA unique identifier that might be required when you assume a role in another account.
AWS RegionThe hosting region for your Amazon Web Services.
AWS Role ARNThe Amazon Resource Name of the role to use when authenticating.
AWS Secret KeyYour AWS account secret key. This value is accessible from your AWS security credentials page.
AWS Session TokenYour AWS session token.
Buffer SizeDetermines the internal buffer size to fill up to before returning results.
Cache ConnectionThe connection string for the cache database. This property is always used in conjunction with CacheProvider . Setting both properties will override the value set for CacheLocation for caching data.
Cache LocationSpecifies the path to the cache when caching to a file.
Cache MetadataThis property determines whether or not to cache the table metadata to a file store.
Cache ProviderThe name of the provider to be used to cache data.
Cache ToleranceThe tolerance for stale data in the cache specified in seconds when using AutoCache .
Credentials LocationThe location of the settings file where MFA credentials are saved.
DomainYour AWS domain name. You can optionally choose to associate your domain name with AWS.
Firewall PasswordA password used to authenticate to a proxy-based firewall.
Firewall PortThe TCP port for a proxy-based firewall.
Firewall ServerThe name or IP address of a proxy-based firewall.
Firewall TypeThe protocol used by a proxy-based firewall.
Firewall UserThe user name to use to authenticate with a proxy-based firewall.
Flatten ArraysBy default, nested arrays are returned as strings of JSON. The FlattenArrays property can be used to flatten the elements of nested arrays into columns of their own. Set FlattenArrays to the number of elements you want to return from nested arrays.
Flatten ObjectsSet FlattenObjects to true to flatten object properties into columns of their own. Otherwise, objects nested in arrays are returned as strings of JSON.
Generate Schema FilesIndicates the user preference as to when schemas should be generated and saved.
Insert ModeHow to handle values when inserting if the same primary key combination already exists in DynamoDB.
LocationA path to the directory that contains the schema files defining tables, views, and stored procedures.
LogfileA filepath which designates the name and location of the log file.
Log ModulesCore modules to be included in the log file.
Maximum Request RetriesThe maximum number of times to retry a request.
Max Log File CountA string specifying the maximum file count of log files. When the limit is hit, a new log is created in the same folder with the date and time appended to the end and the oldest log file will be deleted.
Max Log File SizeA string specifying the maximum size in bytes for a log file (for example, 10 MB). When the limit is hit, a new log is created in the same folder with the date and time appended to the end.
Max RowsLimits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
MFA Serial NumberThe serial number of the MFA device if one is being used.
MFA TokenThe temporary token available from your MFA device.
Number Column ModeSpecifies how to handle detected number columns. DynamoDB returns number values with a total precision of 38.
OfflineUse offline mode to get the data from the cache instead of the live source.
OtherThese hidden properties are used only in specific use cases.
PagesizeThe maximum number of results to return per page from Amazon DynamoDB.
Proxy Auth SchemeThe authentication type to use to authenticate to the ProxyServer proxy.
Proxy Auto DetectThis indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
Proxy ExceptionsA semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .
Proxy PasswordA password to be used to authenticate to the ProxyServer proxy.
Proxy PortThe TCP port the ProxyServer proxy is running on.
Proxy ServerThe hostname or IP address of a proxy to route HTTP traffic through.
Proxy SSL TypeThe SSL type to use when connecting to the ProxyServer proxy.
Proxy UserA user name to be used to authenticate to the ProxyServer proxy.
Pseudo ColumnsThis property indicates whether or not to include pseudo columns as columns to the table.
ReadonlyYou can use this property to enforce read-only access to Amazon DynamoDB from the provider.
Retry Wait TimeThe minimum number of milliseconds the provider will wait to retry a request.
Row Scan DepthThe maximum number of rows to scan to look for the columns available in a table.
RTKThe runtime key used for licensing.
Separator CharacterThe character or characters used to denote hierarchy.
SSL Server CertThe certificate to be accepted from the server when connecting using TLS/SSL.
Support Enhanced SQLThis property enhances SQL functionality beyond what can be supported through the API directly, by enabling in-memory client-side processing.
TablesThis property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Temporary Token DurationThe amount of time (in seconds) a temporary token will last.
Thread CountThe number of threads to use when selecting data via a parallel scan. Setting ThreadCount to 1 will disable parallel scans.
TimeoutThe value in seconds until the timeout error is thrown, canceling the operation.
Type Detection SchemeDetermines how to determine the data type of columns.
Use Consistent ReadsWhether to alyways use Consistent Reads or not when querying DynamoDb.
Use Simple NamesBoolean determining if simple names should be used for tables and columns.
ViewsRestricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.

Copyright (c) 2020 CData Software, Inc. - All rights reserved.
Build 20.0.7654