NOTE: Further, more detailed information on the requirements is contained in the attachments (document “MailChimp - Additional Requirements”)
The existing Python script that currently exports all data from MailChimp via REST API to separate CSV files should be extended with the following requirements (you can find the script attached “[url removed, login to view]”):
- All data should be exported dynamically (in case sources change)
- If multiple accounts exist, the data of all configured accounts should be exported
- The target format should be either JSON or CSV
- Ini File: No storing of the password in the ini file, instead use LastPass to retrieve password from repository
- Configuration: It should be possible to configure the bucket (if it is going to contain privacy data or not) and the script should check if a bucket already exists, if it does not, the script should stop and give an appropriate error message
- There should be a parameter “record source” in the config file to set the %RSRC% variable (first, set the variable in the config, then use it in the config somewhere else, for example to set the file name).
- All data should be stored on S3. No local files should remain on the EC2 instance (e.g. log files, error logs, metadata).
- Metadata: We need the metadata from the source collection / table. Therefore, download all metadata from the source into a CSV file, with (at least) the following columns:
1. name: the name of the column
2. data type
3. possible values
- Unstructured / Binary Data: Download all binary / unstructured data and put them on the S3 filesystem as well. Use the identifiers from the source to make sure that we can identify the file from the data stored in the source (e.g. if the source data references template X, make sure that the filename includes X in some way so we can link from the source data to the unstructured / binary data on the file system. This applies to all attachments from the REST interface and BLOB data from relational sources.
14 freelancere byder i gennemsnit €210 for dette job
I am experienced programmer, and have 6 years experience in Python. I know your requirements and I am good at it. Let us talk about the details, and I will show you my ability.