繁体   English   中英

S3上传String的用户元数据列表

[英]S3 upload user metadata list of String

我目前正在使用 Java 处理 S3 上传,我将向文件中添加一组用户元数据。 我想了解是否可以将字符串列表添加到用户元数据中的参数之一。

我当前的代码片段如下 -

ObjectMetadata objectMetadata = new ObjectMetadata();

Map<String, Object> userMetadata = new HashMap<String, Object>();

userMetadata.put("a", "a1");
userMetadata.put("b", "b1");

List<String> c = new ArrayList<String>();
c.add("c1");
c.add("c2");
userMetadata.put("c", c);

objectMetadata.setUserMetadata(userMetadata);

但是,我在“ objectMetadata.setUserMetadata(userMetadata); ”行收到编译时错误

setUserMetadata需要一个Map<String, String> ,而不是像你那样的Map<String, Object> - 所以你不能直接在那里使用列表。 例如,您可以加入它:

Map<String, String> userMetadata = new HashMap<>(); // Note the type!

userMetadata.put("a", "a1");
userMetadata.put("b", "b1");

List<String> c = new ArrayList<>();
c.add("c1");
c.add("c2");
userMetadata.put("c", String.join(",", c); // list is joined when added to the map

objectMetadata.setUserMetadata(userMetadata);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM