blob: e55cccc49911d9548b9d53b6b853f3182bcf0c26 [file] [view]
# Capabilities
This service can be used to:
- [ ] create_dir
- [x] stat
- [x] read
- [x] write
- [x] delete
- [x] list
- [x] copy
- [ ] rename
- [x] presign
# Configuration
- `root`: Set the work dir for backend.
- `bucket`: Set the container name for backend.
- `endpoint`: Set the endpoint for backend.
- `addressing_style`: Set the addressing style for endpoint.
- `presign_endpoint`: Set the endpoint for presign.
- `presign_addressing_style`: Set the addressing style for presign endpoint.
- `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
```rust,no_run
use opendal_core::Operator;
use opendal_core::Result;
use opendal_service_oss::Oss;
#[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.
.root("/path/to/dir")
// Set the bucket name, this is required.
.bucket("test")
// Set the endpoint.
//
// For example:
// - "https://oss-ap-northeast-1.aliyuncs.com"
// - "https://oss-hangzhou.aliyuncs.com"
.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.
.access_key_id("access_key_id")
.access_key_secret("access_key_secret");
let op: Operator = Operator::new(builder)?.finish();
Ok(())
}
```