From 374dd6e33b055f03702594a9ee1d5b3c0b2931d0 Mon Sep 17 00:00:00 2001 From: Ipsit Sahoo <12949012+codlocker@users.noreply.github.com> Date: Wed, 29 Mar 2023 19:57:11 -0700 Subject: [PATCH] User/isahoo1/plan a (#15) * update * Add ls to docker * Add encoding.dat to docker * Add something * Add something * Adding delete for csv and video files * push changes * Add Readme * Add Readme * Update readme --------- Co-authored-by: Ipsit Sahoo (Student) --- README.md | 16 +++++++++++++++- assets/Screenshot 2022-06-20 213611.jpg | Bin 0 -> 44230 bytes 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 assets/Screenshot 2022-06-20 213611.jpg diff --git a/README.md b/README.md index 29a73f2..fa73bac 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,18 @@ Installation steps: - In your docker environment, set-up the docker configuration file (Dockerfile) to run on this folder and push the changes to ECR. -- Once the docker has been setup, you can run workload.py to execute the test-cases. \ No newline at end of file +- Once the docker has been setup, you can run workload.py to execute the test-cases. + +RESOURCE NAMES: + +1. input S3 nucket name : inputbucket-cse546 +2. output S3 bucket name : outputbucket-cse546 +3. Dynamo DB : After configuring AWS CLI, push data to dynamo_db using upload_data_to_dynamo.py +4. Here's how the end to end pipe looks like + +![E2E flow](assets/Screenshot%202022-06-20%20213611.jpg) + +- Once the docker has been setup, you can run workload.py to execute the test-cases. + +Skeleton Forked from : https://github.com/nehavadnere/cse546-project-lambda +======= diff --git a/assets/Screenshot 2022-06-20 213611.jpg b/assets/Screenshot 2022-06-20 213611.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e19fd25832ffb8e53622e02085b3c06b2478df1e GIT binary patch literal 44230 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 XsqtGidg?!*nR~