# aws-c-s3 **Repository Path**: luo_zhi_cheng/aws-c-s3 ## Basic Information - **Project Name**: aws-c-s3 - **Description**: aws-c-s3aws-c-s3 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-09-12 - **Last Updated**: 2023-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## AWS C S3 C99 library implementation for communicating with the S3 service, designed for maximizing throughput on high bandwidth EC2 instances. ## License This library is licensed under the Apache 2.0 License. ## Usage ### Building CMake 3.1+ is required to build. `` must be an absolute path in the following instructions. #### Linux-Only Dependencies If you are building on Linux, you will need to build aws-lc and s2n-tls first. ``` git clone git@github.com:awslabs/aws-lc.git cmake -S aws-lc -B aws-lc/build -DCMAKE_INSTALL_PREFIX= cmake --build aws-lc/build --target install git clone git@github.com:aws/s2n-tls.git cmake -S s2n-tls -B s2n-tls/build -DCMAKE_INSTALL_PREFIX= -DCMAKE_PREFIX_PATH= cmake --build s2n-tls/build --target install ``` #### Building aws-c-s3 and Remaining Dependencies ``` git clone git@github.com:awslabs/aws-c-common.git cmake -S aws-c-common -B aws-c-common/build -DCMAKE_INSTALL_PREFIX= cmake --build aws-c-common/build --target install git clone git@github.com:awslabs/aws-checksums.git cmake -S aws-checksums -B aws-checksums/build -DCMAKE_INSTALL_PREFIX= -DCMAKE_PREFIX_PATH= cmake --build aws-checksums/build --target install git clone git@github.com:awslabs/aws-c-cal.git cmake -S aws-c-cal -B aws-c-cal/build -DCMAKE_INSTALL_PREFIX= -DCMAKE_PREFIX_PATH= cmake --build aws-c-cal/build --target install git clone git@github.com:awslabs/aws-c-io.git cmake -S aws-c-io -B aws-c-io/build -DCMAKE_INSTALL_PREFIX= -DCMAKE_PREFIX_PATH= cmake --build aws-c-io/build --target install git clone git@github.com:awslabs/aws-c-compression.git cmake -S aws-c-compression -B aws-c-compression/build -DCMAKE_INSTALL_PREFIX= -DCMAKE_PREFIX_PATH= cmake --build aws-c-compression/build --target install git clone git@github.com:awslabs/aws-c-http.git cmake -S aws-c-http -B aws-c-http/build -DCMAKE_INSTALL_PREFIX= -DCMAKE_PREFIX_PATH= cmake --build aws-c-http/build --target install git clone git@github.com:awslabs/aws-c-sdkutils.git cmake -S aws-c-sdkutils -B aws-c-sdkutils/build -DCMAKE_INSTALL_PREFIX= -DCMAKE_PREFIX_PATH= cmake --build aws-c-sdkutils/build --target install git clone git@github.com:awslabs/aws-c-auth.git cmake -S aws-c-auth -B aws-c-auth/build -DCMAKE_INSTALL_PREFIX= -DCMAKE_PREFIX_PATH= cmake --build aws-c-auth/build --target install git clone git@github.com:awslabs/aws-c-s3.git cmake -S aws-c-s3 -B aws-c-s3/build -DCMAKE_INSTALL_PREFIX= -DCMAKE_PREFIX_PATH= cmake --build aws-c-s3/build --target install ``` #### Running S3 sample After installing all the dependencies, and building aws-c-s3, you can run the sample directly from the s3 build directory. To download: ``` aws-c-s3/build/samples/s3/s3 cp s3:/// --region ``` To upload: ``` aws-c-s3/build/samples/s3/s3 cp s3:/// --region ``` To list objects: ``` aws-c-s3/build/samples/s3/s3 ls s3:// --region ``` ## Testing The unit tests require an AWS account with S3 buckets set up in a particular way. Use the [test_helper script](./tests/test_helper/) to set this up.