Description

The AmazonS3Receiver traverses one or more payload subdirectories, and for each file found within the directory, it creates the payload and sends the REST request to the save on the s3 bucket. Upon receiving a response, it stores the response payload to a file. This Receiver requires a property file to read accessKey and secretKey to send the request to Amazon S3. 


Note: This Receiver moves the file from a directory to S3. If you need output data on your local, add another Receiver that generates the file you need. 


In This Article


Receiver Parameters

The following parameters can be defined for the AmazonS3Receiver. Items with an asterisk (*) are required. 

  • bucketName* - Defines the name of the bucket on the S3 server.
  • foldersWithinBucket - Defines the subfolders within the bucket (e.g., user/address, user/address/city)
  • payloadFilesPath* - Defines the base location of the files to send.
  • payloadFilesSubDir- Defines the naming convention for subdirectories within the payloadFilesPath. Example: 
    • data1
    • data2
    • data3
  • payloadFileDescriptor- Defines the name of the descriptor of files to e sent from payloadSubDirectory. Example: 
    • txt - sends only files whose extension is txt
    • xls - sends only files whose extension is xls
  • propertiesFilePath* - Defines the location of the properties file. The properties file should have the accessKey and secretKey defined. Content of the file: accessKey = 
  • propertiesSubDir - Defines the subdirectory within the property file path. 
  • propertiesFileName* - Defines the name of the S3 property file.
  • logRequestCount* - Defines the number of requests executed before logging a message to the console. 
  • threadCount* - Defines the number of requests that may be sent simultaneously.
  • responseOutput* - Defines if an output response file should be produced and, if so, how it should be produced. 
  • responseFilePath - Defines the location where the response file will be saved.
  • responseFileName - Defines the name of the response file. 


Receiver Attribute Property Keys

The Receiver defines four property keys that can be modified on any of its associated Domain Attributes:

  • aliasName - Enables the user to define a different name for the Attribute.
  • body - Defines if the value of the Attribute should automatically be added to the body (e.g., true or false).
  • header - Defines if the value of the Attribute will be automatically added to the request header (e.g., true or false).
  • xmlStyle - Whether the Attribute should be an element or Attribute in XML.


Properties File

A properties file is required for this Receiver and must contain your AWS account accessKey and secretKey. 


accessKey=<yourAWSAccountAccessKey>
secretKey=<yourAWSAccountSecretKey>
contentType=<contentType>
contentEncoding=<contentEncoding>


Note: Header information (i.e., contentType and contentEncoding) are optional. Possible contentTypes can be viewed here.

Example Properties File

accessKey=AKIAIOSFODNN7EXAMPLE
secretKey=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
contentType=application/x-gzip
contentEncoding=gzip


The following three Receiver Parameters are used for the properties file: 


Use Case Example

A tester wants to use the AmazonS3Receiver to save user data on an S3 bucket. They have set up a Project with the following User Domain. 


  • Attributes -  id, firstName, lastName, and contactNumber
  • loopCount - Set to generate 10,000 records
  • Scenario - UserScenario
  • Receiver- AmazonS3Receiver



Example AmazonS3Receiver Configuration
The User Domain output file will be pushed to the genrocket-users bucket for this example. The payload and property file paths have been set to the user's output resource directory.