shuttle-opendal

Crates.ioshuttle-opendal
lib.rsshuttle-opendal
version0.43.0
sourcesrc
created_at2024-02-14 08:32:29.088037
updated_at2024-04-02 12:27:13.734107
descriptionPlugin to obtain a client connected to Apache OpenDAL
homepage
repository
max_upload_size
id1139635
Iulian Barbu (iulianbarbu)

documentation

README

# Shuttle OpenDAL This plugin allows services to connect to [Apache OpenDALâ„¢](https://github.com/apache/opendal). OpenDAL is a data access layer that allows users to easily and efficiently retrieve data from various storage services in a unified way. Users can connect OpenDAL to access data from a variety of storage services, including: s3, azblob, gcs, oss and [so on](https://opendal.apache.org/docs/rust/opendal/services/index.html). ## Usage **IMPORTANT**: Currently Shuttle isn't able to provision a storage for you (yet). This means you will have to create the storage service first and setup the secrets accordingly. Add `shuttle-opendal` to the dependencies for your service by running `cargo add shuttle-opendal`. This resource will be provided by adding the `shuttle_opendal::Opendal` attribute to your Shuttle `main` decorated function. It returns a `opendal::Operator` for you to connect the storage service. ### Example In the case of an Axum server, your main function will look like this: ```rust use opendal::Operator; use shuttle_axum::ShuttleAxum; #[shuttle_runtime::main] async fn app( #[shuttle_opendal::Opendal(scheme = "s3")] storage: Operator, ) -> ShuttleAxum {} ``` ### Parameters | Parameter | Type | Default | Description | |-----------|-------|------------|--------------------------------------------------| | scheme | `str` | `"memory"` | The scheme of the storage service to connect to. | All secrets are loaded from your `Secrets.toml` file. For instance, when using `s3`, you can configure the scheme to `s3` and specify the secrets: `bucket`, `access_key_id`, and `secret_access_key`. Visit the [OpenDAL Documentation](https://opendal.apache.org/docs/rust/opendal/services/index.html) for more information on how to setup the secrets for the storage service you want to connect to.
Commit count: 0

cargo fmt