Closed

Visual Basic Program that Interacts with Amazon S3

This project was awarded to mike098 for $70 USD.

Get free quotes for a project like this
Employer working
Awarded to:
Project Budget
$30 - $250 USD
Total Bids
5
Project Description

I’d like to hire someone to build a simple Visual Basic program that will interact with Amazon S3. I’m using the program to train on how to write a program that will interact with S3. So some of the features may not make sense – feel free to propose a different feature if you disagree with mine. I don’t care what the features are – I just need to know how to exercise the S3 API.

From a logistics perspective, I'd like to select a bidder by 11/30, receive code around 12/15, so that i can test the week of 12/17 - i won't be able to test before that week.

Environment Detail

1. I have a Windows 7 PC and I’d like to use Visual Studio Express and SQL Server Express.

2. I envision using SQL Server to keep track of what I’ve posted to AWS.

3. I’d like to have a console program that runs and takes action based on values in a SQL Server table.

4. See below for create scripts for the SQL Server database

Function 1: Post a file

1. Query the Jobs table and process each Job row that has a status type of 1.

2. Post the file listed in the Audio_Path_Orig to S3.

3. Update the Job Record with information that is returned from S3 – I’m not sure what S3 returns but I’m guessing some kind of a record key that should go to the Record_ID column.

4. Set the status type id for the row to 2.

Function 2: Retrieve a file

1. Query the Jobs table and process each Job row that has a status type of 3.

2. Retrieve the file by using the Record_ID and querying S3 for a copy of the file.

3. Write the file to the location specified in Audio_Path_Retrieved column.

4. Set the status type id for the row to 2.

Function 3: Delete a file

1. Query the Jobs table and process each Job row that has a status type of 4.

2. Delete the file from S3 by using the Record_ID.

3. Set the status type id for the row to 5.

DataBase – here’s the create logic for the SQL database that keeps track of what’s posted to S3

-- --------------------------------------------------------

--

-- Table structure for table `jobs`

--

CREATE TABLE IF NOT EXISTS `jobs` (

`jod_id` int(10) NOT NULL AUTO_INCREMENT,

`author_user_id` int(10) NOT NULL,

`status_type_id` int(10) NOT NULL,

`patient_first_name` varchar(50) NOT NULL,

`patient_last_name` varchar(50) NOT NULL,

`record_id` varchar(50) NOT NULL,

`service_date` datetime NOT NULL,

`audio_path_orig` varchar(100) NOT NULL,

`audio_path_retrieved` varchar(100) NOT NULL,

`document_title_id` int(10) NOT NULL,

`JobXML` XML (or nvarchar(max) if XML not an option) DEFAULT NULL,

PRIMARY KEY (`jod_id`),

KEY `author_user_id` (`author_user_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

-- --------------------------------------------------------

--

-- Table structure for table `status_types`

--

CREATE TABLE IF NOT EXISTS `status_types` (

`status_type_id` int(11) NOT NULL AUTO_INCREMENT,

`status_type_description` varchar(50) NOT NULL,

`sort_order` int(10) NOT NULL,

PRIMARY KEY (`status_type_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

Status_Types Rows

ID Description

1 To Post

2 Posted

3 To Return

4 To Delete

5 Deleted

--

-- Table structure for table `users`

--

CREATE TABLE IF NOT EXISTS `users` (

`user_id` int(12) NOT NULL AUTO_INCREMENT,

`login` varchar(50) NOT NULL,

`password` varchar(50) NOT NULL,

`first_name` varchar(50) NOT NULL,

`last_name` varchar(50) NOT NULL,

`user_type_id` int(10) NOT NULL,

PRIMARY KEY (`user_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

--

-- Constraints for table `jobs`

--

Foreign key Author_User_ID to to Users

Foreign key Status_Type_ID to Status_Type

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online