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