Struct opendal::services::Oss

source ·
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

source

pub fn root(&mut self, root: &str) -> &mut Self

Set root of this backend.

All operations will happen under this root.

source

pub fn bucket(&mut self, bucket: &str) -> &mut Self

Set bucket name of this backend.

source

pub fn endpoint(&mut self, endpoint: &str) -> &mut Self

Set endpoint of this backend.

source

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.
source

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.
source

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.
source

pub fn allow_anonymous(&mut self) -> &mut Self

Anonymously access the bucket.

source

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

source§

const SCHEME: Scheme = Scheme::Oss

Associated scheme for this builder.
§

type Accessor = OssBackend

The accessor that built by this builder.
source§

fn from_map(map: HashMap<String, String>) -> Self

Construct a builder from given map.
source§

fn build(&mut self) -> Result<Self::Accessor>

Consume the accessor builder to build a service.
source§

fn from_iter(iter: impl Iterator<Item = (String, String)>) -> Selfwhere Self: Sized,

Construct a builder from given iterator.
source§

fn from_env() -> Selfwhere Self: Sized,

Construct a builder from envs.
source§

impl Clone for OssBuilder

source§

fn clone(&self) -> OssBuilder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for OssBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for OssBuilder

source§

fn default() -> OssBuilder

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CompatExt for T

source§

fn compat(self) -> Compat<T>

Applies the Compat adapter by value. Read more
source§

fn compat_ref(&self) -> Compat<&T>

Applies the Compat adapter by shared reference. Read more
source§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the Compat adapter by mutable reference. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more