Skip to content

Commit 96dd848

Browse files
authored
chore(Rust-docs): Update README (#1520)
* chore(Rust-docs): Update README
1 parent b0a97e0 commit 96dd848

File tree

3 files changed

+69
-52
lines changed

3 files changed

+69
-52
lines changed

DynamoDbEncryption/runtimes/rust/README.md

+17-51
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,30 @@
11
# AWS Database Encryption SDK for DynamoDB
22

3-
AWS Database Encryption SDK for DynamoDB
3+
[![build status](https://github.com/aws/aws-database-encryption-sdk-dynamodb/actions/workflows/daily_ci.yml/badge.svg?branch=main)](https://github.com/aws/aws-database-encryption-sdk-dynamodb/actions/workflows/daily_ci.yml)
4+
[![crates.io](https://img.shields.io/crates/v/aws-db-esdk.svg)](https://crates.io/crates/aws-db-esdk)
5+
[![docs](https://docs.rs/aws-db-esdk/badge.svg)](https://docs.rs/aws-db-esdk)
6+
[![rustc](https://img.shields.io/badge/rust-1.81%2B-orange.svg)](https://img.shields.io/badge/rust-1.81%2B-orange.svg)
47

5-
## Using the AWS Database Encryption SDK for DynamoDB for Rust
8+
This is the official [AWS Database Encryption SDK (DB-ESDK) for DynamoDB in Rust](https://crates.io/crates/aws-db-esdk).
69

7-
The AWS Database Encryption SDK for DynamoDB is available on [Crates.io](https://www.crates.io/).
10+
## [CHANGELOG](https://github.com/aws/aws-database-encryption-sdk-dynamodb/blob/main/CHANGELOG.md)
811

9-
## Building the AWS Database Encryption SDK for DynamoDB
12+
## Overview
1013

11-
To build, the AWS Database Encryption SDK for DynamoDB requires the most up to date version of [Dafny](https://github.com/dafny-lang/dafny) on your PATH.
14+
The AWS Database Encryption SDK (DB-ESDK) for DynamoDB is a client-side encryption
15+
library that allows you to perform attribute-level encryption, enabling you to encrypt specific
16+
attribute values within items before storing them in your DynamoDB table. All encryption and
17+
decryption are performed within your application. This lets you protect sensitive data in-transit
18+
and at-rest, as data cannot be exposed unless decrypted by your application.
1219

13-
You will also need to ensure that you fetch all submodules using either `git clone --recursive ...` when cloning the repository or `git submodule update --init` on an existing clone.
20+
For more details about the design and architecture of the DB-ESDK for DynamoDB,
21+
see the [AWS Database Encryption SDK Developer Guide](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/).
1422

15-
To setup your project to use the AWS Database Encryption SDK for DynamoDB in Rust, run:
23+
## Examples for AWS Database Encryption SDK in Rust
1624

17-
```
18-
cd DynamoDbEncryption
19-
# Polymorph smithy to Rust
20-
make polymorph_rust
21-
# Transpile Dafny to Rust
22-
make transpile_rust
23-
# Build Project
24-
cd runtimes/rust
25-
cargo build
26-
```
25+
Please look at the Examples on how to use the AWS Database Encryption SDK in Rust [here](https://github.com/aws/aws-database-encryption-sdk-dynamodb/tree/main/DynamoDbEncryption/runtimes/rust/examples).
2726

28-
### (Optional) Set up the AWS Database Encryption SDK for DynamoDB to work with AWS KMS
29-
30-
If you set up the AWS Database Encryption SDK for DynamoDB to use the AWS KMS Keyring,
31-
the AWS Database Encryption SDK for DynamoDB will make calls to AWS KMS on your behalf,
32-
using the appropriate AWS SDK.
33-
34-
However, you must first set up AWS credentials for use with the AWS SDK.
35-
36-
## Testing the AWS Database Encryption SDK for DynamoDB for Rust
37-
38-
### Configure AWS credentials
39-
40-
To run the test suite you must first set up AWS credentials for use with the AWS SDK.
41-
This is required in order to run the integration tests, which use a KMS Keyring against a publicly accessible KMS CMK.
42-
43-
### Run the tests
44-
45-
Run the test suite with:
46-
47-
```
48-
cd AwsEncryptionSDK
49-
make test_rust
50-
```
51-
52-
Run tests on examples, to ensure they are up to date:
53-
54-
```
55-
cd AwsEncryptionSDK/runtimes/rust/
56-
cargo test --examples
57-
```
58-
59-
Please look at the Examples on how to use the Encryption SDK in Rust [here](examples).
60-
61-
Please note that tests and test vectors require internet access and valid AWS credentials, since calls to KMS are made as part of the test workflow.
27+
Please note that some examples MAY require internet access and valid AWS credentials, since calls to KMS are made.
6228

6329
## License
6430

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
## Building the AWS Database Encryption SDK for DynamoDB
2+
3+
To build, the AWS Database Encryption SDK for DynamoDB requires the most up to date version of [Dafny](https://github.com/dafny-lang/dafny) on your PATH.
4+
5+
You will also need to ensure that you fetch all submodules using either `git clone --recursive ...` when cloning the repository or `git submodule update --init` on an existing clone.
6+
7+
To setup your project to use the AWS Database Encryption SDK for DynamoDB in Rust, run:
8+
9+
```
10+
cd DynamoDbEncryption
11+
# Polymorph smithy to Rust
12+
make polymorph_rust
13+
# Transpile Dafny to Rust
14+
make transpile_rust
15+
# Build Project
16+
cd runtimes/rust
17+
cargo build
18+
```
19+
20+
### (Optional) Set up the AWS Database Encryption SDK for DynamoDB to work with AWS KMS
21+
22+
If you set up the AWS Database Encryption SDK for DynamoDB to use the AWS KMS Keyring,
23+
the AWS Database Encryption SDK for DynamoDB will make calls to AWS KMS on your behalf,
24+
using the appropriate AWS SDK.
25+
26+
However, you must first set up AWS credentials for use with the AWS SDK.
27+
28+
## Testing the AWS Database Encryption SDK for DynamoDB for Rust
29+
30+
### Configure AWS credentials
31+
32+
To run the test suite you must first set up AWS credentials for use with the AWS SDK.
33+
This is required in order to run the integration tests, which use a KMS Keyring against a publicly accessible KMS CMK.
34+
35+
### Run the tests
36+
37+
Run the test suite with:
38+
39+
```
40+
cd DynamoDbEncryption
41+
make test_rust
42+
```
43+
44+
Run tests on examples, to ensure they are up to date:
45+
46+
```
47+
cd DynamoDbEncryption/runtimes/rust/
48+
cargo test --examples
49+
```
50+
51+
Please note that tests require internet access and valid AWS credentials, since calls to KMS and DynamoDB are made as part of the workflow.

DynamoDbEncryption/runtimes/rust/start_release.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ cd ../../../releases/rust/db_esdk
4343
git checkout dafny_runtime_rust
4444

4545
# Remove unnecessary files and directories
46-
rm -rf *~ copy_externs.sh start_release.sh test_published.sh test_examples *.pem RELEASE.md
46+
rm -rf *~ copy_externs.sh start_release.sh test_published.sh test_examples *.pem RELEASE.md src/README.md
4747

4848
# Create .gitignore file with specified entries
4949
echo Cargo.lock > .gitignore

0 commit comments

Comments
 (0)