【问题标题】:Updating only metadata of an object in SoftLayer using jclouds API使用 jclouds API 仅更新 SoftLayer 中对象的元数据
【发布时间】:2016-02-17 06:29:27
【问题描述】:

我只想使用 jclouds API 更新存储在 SoftLayer 中的对象的元数据。该对象已存在,因此不想再次上传。

【问题讨论】:

    标签: java jclouds openstack-swift ibm-cloud-infrastructure


    【解决方案1】:

    使用服务器端副本更新元数据:

    blobStore.copyBlob(containerName, blobName, containerName, blobName, CopyOptions.builder()
            .contentMetadata(...)
            .userMetadata(...)
            .build());
    

    【讨论】:

    • 您好,先生,感谢您的回复。但我有自定义元数据并想用该元数据标记对象。我想保存有效载荷的上传,它与 POST 一样好,而不是 PUT。请帮我解决一下
    • 向 userMetadata 调用提供 Map 以标记此数据。这不会将数据从客户端上传到服务器。
    • ByteSource 有效载荷 = Files.asByteSource(new File(fileName)); blob = blobStore.blobBuilder(fileName) .payload(Payloads.newByteSourcePayload(payload)) .userMetadata(userMetadata).build(); blobStore.putBlob(containerName, blob);这是我能够做的,但即使对象已经存在于服务器上,它也会上传有效负载。我不想上传有效载荷
    • 调用 copyBlob,而不是 putBlob。
    • blobstore.copyBlob 不存在于选项中,请您提供最新的发布链接
    猜你喜欢
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多