You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18-27Lines changed: 18 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,6 +79,8 @@ with a JSON payload of the form:
79
79
80
80
The currently supported reducers are `max`, `min`, `mean`, `sum`, `select` and `count`. All reducers return the result using the same datatype as specified in the request except for `count` which always returns the result as `int64`.
81
81
82
+
The proxy adds two custom headers `x-activestorage-dtype` and `x-activestrorage-shape` to the HTTP response to allow the numeric result to be reconstructed from the binary content of the response.
83
+
82
84
[//]: <> (TODO: No OpenAPI support yet).
83
85
[//]: <>(For a running instance of the proxy server, the full OpenAPI specification is browsable as a web page at the `{proxy-address}/redoc/` endpoint or in raw JSON form at `{proxy-address}/openapi.json`.)
84
86
@@ -97,7 +99,7 @@ In particular, the following are known limitations which we intend to address:
97
99
### Prerequisites
98
100
99
101
This project is written in Rust, and as such requires a Rust toolchain to be installed in order to build it.
100
-
The Minimum Supported Rust Version (MSRV) is 1.62.1, due to a dependency on the [AWS SDK](https://github.com/awslabs/aws-sdk-rust).
102
+
The Minimum Supported Rust Version (MSRV) is 1.66.1, due to a dependency on the [AWS SDK](https://github.com/awslabs/aws-sdk-rust).
101
103
It may be necessary to use [rustup](https://rustup.rs/) rather than the OS provided Rust toolchain to meet this requirement.
102
104
See the [Rust book](https://doc.rust-lang.org/book/ch01-01-installation.html) for toolchain installation.
103
105
@@ -125,7 +127,7 @@ cargo run --release
125
127
Or installed to the system:
126
128
127
129
```sh
128
-
cargo install
130
+
cargo install --path . --locked
129
131
```
130
132
131
133
Then run:
@@ -161,7 +163,7 @@ In a separate terminal, set up the Python virtualenv then upload some sample dat
161
163
162
164
```sh
163
165
# Create a virtualenv
164
-
python -m venv ./venv
166
+
python3 -m venv ./venv
165
167
# Activate the virtualenv
166
168
source ./venv/bin/activate
167
169
# Install dependencies
@@ -178,33 +180,22 @@ Proxy functionality can be tested using the [S3 active storage compliance suite]
178
180
179
181
Request authentication is implemented using [Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication) with the username and password consisting of your S3 Access Key ID and Secret Access Key, respectively. These credentials are then used internally to authenticate with the upstream S3 source using [standard AWS authentication methods](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html)
180
182
181
-
A request to an active storage proxy running on localhost with Minio as the S3 source is as simple as:
183
+
A basic Python client is provided in `scripts/client.py`.
184
+
First install dependencies in a Python virtual environment:
The proxy adds two custom headers `x-activestorage-dtype` and `x-activestrorage-shape` to the HTTP response to allow the numeric result to be reconstructed from the binary content of the response.
0 commit comments