Obs
Huawei-Cloud Object Storage Service (OBS) support
Capabilities
This service can be used to:
- stat
- read
- write
- create_dir
- delete
- copy
- rename
- list
- scan
- presign
- blocking
Configuration
root
: Set the work directory for backendbucket
: Set the container name for backendendpoint
: Customizable endpoint settingaccess_key_id
: Set the access_key_id for backend.secret_access_key
: Set the secret_access_key for backend.
You can refer to [ObsBuilder
]'s docs for more information
Example
Via Builder
use anyhow::Result;
use opendal::services::Obs;
use opendal::Operator;
#[tokio::main]
async fn main() -> Result<()> {
// create backend builder
let mut builder = Obs::default();
// set the storage bucket for OpenDAL
builder.bucket("test");
builder.endpoint("obs.cn-north-1.myhuaweicloud.com");
// Set the access_key_id and secret_access_key.
//
// 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.secret_access_key("secret_access_key");
let op: Operator = Operator::new(builder)?.finish();
Ok(())
}
Via Config
- Rust
- Node.js
- Python
use anyhow::Result;
use opendal::Operator;
use opendal::Scheme;
use std::collections::HashMap;
#[tokio::main]
async fn main() -> Result<()> {
let mut map = HashMap::new();
map.insert("bucket".to_string(), "test".to_string());
map.insert("endpoint".to_string(), "obs.cn-north-1.myhuaweicloud.com".to_string());
map.insert("access_key_id".to_string(), "access_key_id".to_string());
map.insert("secret_access_key".to_string(), "secret_access_key".to_string());
let op: Operator = Operator::via_map(Scheme::Obs, map)?;
Ok(())
}
import { Operator } from "opendal";
async function main() {
const op = new Operator("obs", {
bucket: "test",
endpoint: "obs.cn-north-1.myhuaweicloud.com",
access_key_id: "access_key_id",
secret_access_key: "secret_access_key",
});
}
import opendal
op = opendal.Operator("obs",
bucket="test",
endpoint="obs.cn-north-1.myhuaweicloud.com",
access_key_id="access_key_id",
secret_access_key="secret_access_key",
)