metadata - jclouds : how do I update metadata for an existing blob?

标签 metadata blob jclouds

我在 Rackspace 的云文件中有几千个 blob,我需要为其更新内容类型。但是,我不知道如何使用 jclouds API 做到这一点。

如何更新现有 blob 上的元数据?

最佳答案

假设您已经为机架空间运行了整个设置,那么使用 jclouds 很容易:

首先使用以下详细信息进行初始化:

    BlobStoreContext context = ContextBuilder.newBuilder(provider)
            .credentials(username, apiKey)
            .buildView(BlobStoreContext.class);

    BlobStore blobStore = context.getBlobStore();

您现在可以构建一个新的 blob 以放置在机架空间上:

Blob blob = blobStore.blobBuilder(key) .userMetadata(metadata) .payload(value) .build();


blobStore.putBlob(container, blob);

value 是输入 bytes[] 并且 metadata 是与 blob like content type 相关联的元数据的哈希映射。

如果你想做更新之类的操作:
RegionScopedBlobStoreContext context = ContextBuilder.newBuilder("openstack-swift")
                                .endpoint(config.getAuthUrl())
                                .credentials(config.getUser(), config.getPasswd())
                                .overrides(p)
                                .buildView(RegionScopedBlobStoreContext.class);
SwiftApi swift = (SwiftApi) ((org.jclouds.rest.internal.ApiContextImpl)context.unwrap()).getApi();

boolean success = swift.objectApiInRegionForContainer(config.getRegion(), container).updateMetadata(filename, metaData);

我知道这是一个概述,但我希望它能给你一个好的方向。

关于metadata - jclouds : how do I update metadata for an existing blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22133914/

相关文章:

angular - 如何导航到外部 URL 参数?

java - 如何更新现有 Amazon S3 文件的元数据?

git - jekyll GitHub元数据错误

ios - 元数据回复程序被拒绝

json - 使用 Swagger/OpenAPI 扩展 JSON 元数据

jclouds - 使用 REST API 启动 Apache Brooklyn 应用程序

java - 如何使用 Jclouds 1.7 访问 native 提供程序 API

vb.net - 如何编辑 JPG 文件标题、主题、评论和标签/关键字?

SQL 服务器 2008 R2 : Working with XML stored as BLOB (image data type)

mysql - 使用 laravel 6 显示 Blob 列中的文档