-
Notifications
You must be signed in to change notification settings - Fork 499
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add service doc for oss (#2409)
* docs: add new docs for oss * docs: fix doc
- Loading branch information
1 parent
6e747a7
commit 007aa5b
Showing
3 changed files
with
149 additions
and
72 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
|
||
|
||
# Capabilities | ||
|
||
This service can be used to: | ||
|
||
- [x] stat | ||
- [x] read | ||
- [x] write | ||
- [x] append | ||
- [x] create_dir | ||
- [x] delete | ||
- [x] copy | ||
- [ ] rename | ||
- [x] list | ||
- [x] scan | ||
- [x] 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 | ||
|
||
```rust | ||
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(()) | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
--- | ||
title: OSS | ||
--- | ||
|
||
Aliyun Object Storage Service (OSS) support. | ||
|
||
import Docs from '../../../core/src/services/oss/docs.md' | ||
|
||
<Docs components={props.components} /> | ||
|
||
|
||
### Via Config | ||
|
||
import Tabs from '@theme/Tabs'; | ||
import TabItem from '@theme/TabItem'; | ||
|
||
<Tabs> | ||
<TabItem value="rust" label="Rust" default> | ||
|
||
```rust | ||
use std::sync::Arc; | ||
|
||
use anyhow::Result; | ||
use opendal::Scheme; | ||
use opendal::Operator; | ||
|
||
#[tokio::main] | ||
async fn main() -> Result<()> { | ||
let mut map = HashMap::new(); | ||
map.insert("root".to_string(), "/path/to/dir".to_string()); | ||
map.insert("bucket".to_string(), "test".to_string()); | ||
map.insert("endpoint".to_string(), "https://oss-cn-beijing.aliyuncs.com".to_string()); | ||
map.insert("access_key_id".to_string(), "access_key_id".to_string()); | ||
map.insert("access_key_secret".to_string(), "access_key_secret".to_string()); | ||
|
||
let op: Operator = Operator::via_map(Scheme::Oss, map)?; | ||
Ok(()) | ||
} | ||
``` | ||
|
||
</TabItem> | ||
<TabItem value="node.js" label="Node.js"> | ||
|
||
```javascript | ||
import { Operator } from "opendal"; | ||
|
||
async function main() { | ||
const op = new Operator("oss", { | ||
root: "/path/to/dir", | ||
bucket: "test", | ||
endpoint: "https://oss-cn-beijing.aliyuncs.com", | ||
access_key_id: "access_key_id", | ||
access_key_secret: "access_key_secret", | ||
}); | ||
} | ||
``` | ||
|
||
</TabItem> | ||
<TabItem value="python" label="Python"> | ||
|
||
```python | ||
import opendal | ||
|
||
op = opendal.Operator("oss", | ||
root:"/path/to/dir", | ||
bucket="test", | ||
endpoint="https://oss-cn-beijing.aliyuncs.com", | ||
access_key_id="access_key_id", | ||
access_key_secret="access_key_secret", | ||
) | ||
``` | ||
|
||
</TabItem> | ||
</Tabs> | ||
|