S3Uploader
Using the Amazon Simple Storage Service (S3), uploads data to an Amazon S3 bucket.
Usage Notes
The performance of this transformer is dependent on the amount of memory allocated to the Java Virtual Machine (JVM). The following environment variables allow you to specify memory available to Java Plugins:
- FME_JVM_MIN_HEAP_SIZE: Initial heap size for initializing the JVM. Default value is 1024K.
- FME_JVM_MAX_HEAP_SIZE: Maximum heap size for initializing JVM. Default value is 16384K.
If unset, the JVM applies the default values. If set, the values must be multiples of 1024K (for example, 4M and 64M, or 4096K and 32768K).
Note: To pass additional parameters used by FME to the Java Virtual Machine, use the JAVA_TOOL_OPTIONS environment variable.
Input Ports
This transformer accepts any feature.
Output Ports
Features which have successfully uploaded their contents to S3 are output through this port.
Features which have not successfully uploaded their contents to S3 are output through this port. Additionally, a message stored in an attribute specified in Error Attribute, will contain details about the failure.
Parameters
S3 Bucket
The name of the Amazon S3 bucket.
The AWS Region in which the specified Bucket resides. If the default value, US East, N. Virginia (us-east-1), is specified, and the specified Bucket does not reside there, the operation will still succeed. However, to optimize latency, it is best practice to specify the correct region.
Specify a web connection to Amazon S3. Web connections can be reused in multiple workspaces, and connection parameters are hidden in the workspace. For more information, see Using Web Connections. Alternatively, check Embed Access Key (below) and specify the connection parameters manually.
When checked, you must specify the connection parameters to Amazon S3 manually. The connection parameters are visible in the workspace. To connect, specify:
An access key associated with a user with permission to upload data to the specified bucket. If a pairing of an access key and a secret access key is not given, credentials will be searched in various locations listed here.
- In a file titled AwsCredentials.properties located in the Java classpath
- For the properties aws.accessKeyId and aws.secretKey in the Java system properties
- In the environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
If credentials are still not found, the client will act as if it is in anonymous mode, where requests aren’t signed. This is useful if accessing a publicly accessible object or bucket.
A secret key paired with the access key provided. See the Access Key ID parameter for credential searching.
S3 Upload Options
The name that the uploaded data will be stored under. Bucket Name and Object Key together uniquely identify an object, and should vary for each feature processed.
If Yes, allows Amazon S3 Transfer Acceleration on the bucket, if enabled. To enable acceleration, see http://docs.aws.amazon.com/AmazonS3/latest/UG/enable-bucket-transfer-acceleration.html.
When allowing S3 Acceleration, keep in mind the following:
- The specified Bucket name must be DNS-compliant.
- Your Amazon account is charged for performing accelerated requests.
- Server-Side Encryption (AES-256): Instructs the Amazon S3 to encrypt the data after it is uploaded using the 256-bit Advanced Encryption Standard (AES). For more information, see this AWS Blog post.
- None: Data is not encrypted after upload.
Data Source
The source of the data to be uploaded.
- File: The specified file will be uploaded. The Upload Content Type will be automatically determined based on the file extension. See Source Filename.
- Attribute or Expression: The contents of the specified attribute or expression will be uploaded. See Data to Upload.
- Folder: The specified folder will be uploaded. Because permissions are either bucket- or object-specific, the default permissions cannot be altered for a folder. See Source Folder.
When working with large objects, File is the better choice as the data will be streamed directly from disk and not require that the object be stored entirely in memory on a feature.
File/Attribute or Expression Options
The file to be uploaded, when Data Source is File.
The data to be uploaded, when Data Source is Attribute or Expression. An attribute or expression can be used to supply the data.
The predefined set of grantees and permissions to store with each uploaded object. For more information, see http://docs.aws.amazon.com/AmazonS3/latest/dev/ACLOverview.html#CannedACL.
You can specify header fields in the HTTP upload request. Under Name, specify a header field. You can select from a drop-down list of predefined fields that include metadata and ACL permissions parameters. Alternatively, enter fields manually. Under Value, specify a field value.
Note: If CannedACL or Content-Type headers are specified here, they override Permissions and Upload Content Typesettings, respectively.
Folder Options
The folder to be uploaded, when Data Source is Folder.
Option to include or exclude subfolders of the given folder from the upload.
Output Options
Specify the output attribute that will store the uploaded object’s URI.
Specify a list name for the list attribute that will contain all headers entered in Headers.
Editing Transformer Parameters
Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click beside the applicable parameter. For more information, see Transformer Parameter Menu Options.
Transformer Categories
FME Licensing Level
FME Professional edition and above
Search FME Knowledge Center
Search for samples and information about this transformer on the FME Knowledge Center.