10个版本 (重大更改)
0.9.0 | 2023年9月19日 |
---|---|
0.8.0 | 2023年8月25日 |
0.7.0 | 2023年7月20日 |
0.6.0 | 2023年4月12日 |
0.2.0 | 2022年3月2日 |
591 在 WebAssembly
每月66 次下载
42KB
650 行
wasmCloud Blobstore接口
blobstore接口抽象了一个可以管理容器和对象的服务(能力提供者)。使用此接口的actor必须在他们的声明列表中具有能力合约 wasmcloud:blobstore
(wash claims sign --blob_store
)。
能力提供者实现
以下是一个实现 wasmcloud:blobstore
合约的列表。如果您有一个社区/开源版本,请随时提交PR添加您的实现。
名称 | 供应商 | 描述 |
---|---|---|
blobstore-s3 | wasmCloud | 一个管理S3存储桶和对象的blobstore的AWS S3实现 |
blobstore-fs | wasmCloud | 一个管理文件系统上的文件夹和文件的实现 |
示例用法(🦀 Rust)
在blobstore中创建容器
use std::result::Result;
use wasmbus_rpc::actor::prelude::*;
use wasmcloud_interface_blobstore::{Blobstore, BlobstoreSender};
async fn create_container(ctx: &Context, container_name: &str) -> Result<(), RpcError> {
let blobstore = BlobstoreSender::new();
blobstore
.create_container(ctx, &container_name.to_string())
.await
}
将对象(图像字节)上传到blobstore
use std::result::Result;
use wasmbus_rpc::actor::prelude::*;
use wasmcloud_interface_blobstore::{
Blobstore, BlobstoreSender, Chunk, PutObjectRequest, PutObjectResponse,
};
async fn upload_bytes(ctx: &Context, image_bytes: &[u8]) -> Result<PutObjectResponse, RpcError> {
BlobstoreSender::new()
.put_object(
ctx,
&PutObjectRequest {
chunk: Chunk {
container_id: "myfolder".to_string(),
object_id: "myobjectname".to_string(),
bytes: image_bytes.to_vec(),
offset: 0,
is_last: true,
},
content_type: Some("image/png".to_string()),
..Default::default()
},
)
.await
}
依赖项
~12–30MB
~489K SLoC