Java API

    ozone 客户端由客户端工厂创建,我们可以通过如下调用获得一个 RPC 客户端对象:

    如果用户想要创建指定配置的客户端,可以这样调用:

    这样就会返回一个合适的客户端对象。

    使用 Ozone 客户端写数据

    有了客户端对象之后,我们需要获取 ObjectStore 的引用,获取方法为:

    ObjectStore 对象表示了客户端连接的集群。

    1. // 让我们创建一个卷来存储资产数据
    2. // 使用默认参数来创建资产卷
    3. objectStore.createVolume("assets");
    4. // 验证 assets 卷是否已创建
    5. OzoneVolume assets = objectStore.getVolume("assets");

    createVolume 方法也支持传入参数数组来指定卷的创建参数。

    此时我们有了一个可用的卷和一个桶,卷名为 assets ,桶名为 videos

    接下来我们创建一个键。

    通过桶对象可以进行键的读写,下面的代码从本地磁盘读取名为 intro.mp4 的视频文件,并把它存储到我们刚刚创建的 video 桶中。

    1. // 从文件读取数据,需要由用户提供读取函数
    2. // 创建一个输出流并写数据
    3. OzoneOutputStream videoStream = video.createKey("intro.mp4", 1048576);
    4. videoStream.write(videoData);
    5. videoStream.close();
    6. // 我们可以使用同一个桶,通过创建输入流来读取刚刚写入的文件
    7. // 先创建一个用来存储视频的字节数组
    8. byte[] data = new byte[(int)1048576];
    9. OzoneInputStream introStream = video.readKey("intro.mp4");
    10. // 读取 intro.mp4 到缓冲区中
    11. introStream.read(data);