The following are the parameters of the Teradata Access Module for Amazon S3 initialization string for loading and exporting data using the Teradata Access Module for Amazon S3.
The initialization string consists of a series of keyword and value pairs separated by blanks. The value of a keyword can be an integer or string.
|--------------------------------------------------------------|
| |
|---------S3ConfigDir=ConfigDirectoryPath----------------------|
| |
|---------S3Profile=ProfileName--------------------------------|
| |
|---------S3Region=RegionName----------------------------------|
| |
|---------S3Bucket=BucketName----------------------------------|
| |
|---------S3Prefix=PrefixName----------------------------------|
| |
|---------S3Object=ObjectName----------------------------------|
| |
|---------S3ConnectionCount=n (an integer value)---------------|
| |
|---------S3BufferCount=n (an integer value)------------------|
| |
|---------S3BufferSize=n (an integer value)--------------------|
| |
|---------S3SinglePartFile=True/False--------------------------|
| |
|---------S3AccessID=AccessKeyId-------------------------------|
| |
|---------S3AccessKey=SecretAccessKey--------------------------|
|--------------------------------------------------------------|
Syntax Element |
Description |
|
This is an optional parameter. AWS provides for application programs to obtain some
frequently needed parameters from two files, config and credentials, that are stored in a configuration directory. By convention this directory is |
|
The config and credentials files are broken into sections per AWS documentation. Each section is labeled with
a bracketed heading. The |
|
This is a required parameter. This parameter specifies the Amazon S3 region where
the S3 objects are stored. If the Amazon S3 region name is
Note: The original AWS S3 region on the US East Coast is often referred to as “US Standard”.
This should be specified as |
|
This is a required parameter. This parameter specifies the Amazon S3 bucket to be used for load and export operations. This required parameter must be listed in the access module parameters initialization string. |
|
This is an optional parameter. This parameter will be prepended to the S3Object string to create the pathname within the bucket. As a convenience in writing export or load scripts, this parameter could be used for the portion of the pathname that does not change when a series of tables are exported or loaded.
Note: Within an S3 bucket there is no need to explicitly create directories. The S3 CLI
and GUI will segregate the listing of objects based on the presence of “ |
|
This is a required parameter. The S3Prefix, if specified, is prepended to this parameter to generate the pathname of the object to be created. In order to support large result sets, the preferred mode of operation is to create a series of objects based on the pathname specified by appending a suffix generated by connector. For details, see the section S3SinglePartFile, below. |
|
This optional parameter specifies the number of TCP connections to the Amazon S3 service. If not specified, the default of 10 is used. |
|
This optional parameter specifies the number of buffers to be used with the TCP connections specified by the S3ConnectionCount. Twice the number of connections is the minimum recommended value. If not specified, the value of (2*S3ConnectionCount) is used as default. |
|
This optional parameter specifies the size of the buffers to be used for the TCP connections. The default is 8MB (8388608 bytes). For export operations the buffersize must be at least 5 megabytes (5MB). For convenience the following multipliers can be used: k (1000), K (1024), m (1000 * 1000), and M (1024*1024). For example, the default could be specified as 8M or 8192K. |
|
This optional parameter determines whether the S3 object being read or written is a single file with the name specified by S3Object or a set of numbered files in an “apparent” directory named by the S3Object. As discussed above, directories don’t really exist, but the GUI and CLI segregate files based on “/” making it appear that there is a directory. When an application creates an object on S3, the object can be created from up to 10,000 “pieces”. The size and SHA hash of the “pieces” must be presented when the connection is opened. Since it is not desirable to buffer the file on disk, the size of a “piece” is limited to the size of the buffer. The minimum piece size/buffer size is 5MB. By default 8MB is used as a good trade-off between memory usage and performance. When the pieces are to be turned into an S3 object (a file) the command is limited to 10,000 pieces. That effectively limits the size of a single S3 object (file) that is created to 80 Gigabytes. The solution is to provide a mechanism to automatically treat a list of objects (files) with related pathnames as a single file for the export or load operation. The connector appends a “/”, followed by an “F”, followed by a sequence number. So there is an “apparent” directory created with the name of the requested S3 object. The files in that “apparent” directory are named F000001, F000002, F000003, etc. This solves the problem of being able to handle an arbitrarily large result set from the database. The suffixes of the “parts” are predefined, and cannot be overridden. If it is possible that the output will exceed 80 Gigabytes, the The The |
|
This is a required parameter. This is effectively the Amazon S3 user id. The value
of Please consider your security policy when deciding if you want to store this value in your JV file. |
|
This is a required parameter. This is effectively the Amazon S3 password. Value of
S3AccessKey can be specified via initialization string parameter Please consider your security policy when deciding if you want to store this value in your JV file. |