pub struct Oss { /* private fields */ }
Expand description
Aliyun Object Storage Service (OSS) support
Capabilities
This service can be used to:
- read
- write
- list
- scan
- presign
- blocking
Configuration
root
: Set the work dir for backend.bucket
: Set the container name for backend.endpoint
: Set the endpoint for backend.presign_endpoint
: Set the endpoint for presign.access_key_id
: Set the access_key_id for backend.access_key_secret
: Set the access_key_secret for backend.role_arn
: Set the role of backend.oidc_token
: Set the oidc_token for backend.allow_anonymous
: Set the backend access OSS in anonymous way.
Refer to OssBuilder
’s public API docs for more information.
Example
Via Builder
use std::sync::Arc;
use anyhow::Result;
use opendal::services::Oss;
use opendal::Operator;
#[tokio::main]
async fn main() -> Result<()> {
// Create OSS backend builder.
let mut builder = Oss::default();
// Set the root for oss, all operations will happen under this root.
//
// NOTE: the root must be absolute path.
builder.root("/path/to/dir");
// Set the bucket name, this is required.
builder.bucket("test");
// Set the endpoint.
//
// For example:
// - "https://oss-ap-northeast-1.aliyuncs.com"
// - "https://oss-hangzhou.aliyuncs.com"
builder.endpoint("https://oss-cn-beijing.aliyuncs.com");
// Set the access_key_id and access_key_secret.
//
// OpenDAL will try load credential from the env.
// If credential not set and no valid credential in env, OpenDAL will
// send request without signing like anonymous user.
builder.access_key_id("access_key_id");
builder.access_key_secret("access_key_secret");
let op: Operator = Operator::new(builder)?.finish();
Ok(())
}
Implementations§
source§impl OssBuilder
impl OssBuilder
sourcepub fn root(&mut self, root: &str) -> &mut Self
pub fn root(&mut self, root: &str) -> &mut Self
Set root of this backend.
All operations will happen under this root.
sourcepub fn presign_endpoint(&mut self, endpoint: &str) -> &mut Self
pub fn presign_endpoint(&mut self, endpoint: &str) -> &mut Self
Set a endpoint for generating presigned urls.
You can offer a public endpoint like https://oss-cn-beijing.aliyuncs.com to return a presinged url for public accessors, along with an internal endpoint like https://oss-cn-beijing-internal.aliyuncs.com to access objects in a faster path.
- If presign_endpoint is set, we will use presign_endpoint on generating presigned urls.
- if not, we will use endpoint as default.
sourcepub fn access_key_id(&mut self, v: &str) -> &mut Self
pub fn access_key_id(&mut self, v: &str) -> &mut Self
Set access_key_id of this backend.
- If access_key_id is set, we will take user’s input first.
- If not, we will try to load it from environment.
sourcepub fn access_key_secret(&mut self, v: &str) -> &mut Self
pub fn access_key_secret(&mut self, v: &str) -> &mut Self
Set access_key_secret of this backend.
- If access_key_secret is set, we will take user’s input first.
- If not, we will try to load it from environment.
sourcepub fn allow_anonymous(&mut self) -> &mut Self
pub fn allow_anonymous(&mut self) -> &mut Self
Anonymously access the bucket.
sourcepub fn http_client(&mut self, client: HttpClient) -> &mut Self
pub fn http_client(&mut self, client: HttpClient) -> &mut Self
Specify the http client that used by this service.
Notes
This API is part of OpenDAL’s Raw API. HttpClient
could be changed
during minor updates.
Trait Implementations§
source§impl Builder for OssBuilder
impl Builder for OssBuilder
source§impl Clone for OssBuilder
impl Clone for OssBuilder
source§fn clone(&self) -> OssBuilder
fn clone(&self) -> OssBuilder
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for OssBuilder
impl Debug for OssBuilder
source§impl Default for OssBuilder
impl Default for OssBuilder
source§fn default() -> OssBuilder
fn default() -> OssBuilder
Returns the “default value” for a type. Read more