【问题标题】:Using the Java SDK, how to set metadata on a file in Azure Storage File Service?使用 Java SDK,如何在 Azure 存储文件服务中的文件上设置元数据?
【发布时间】:2019-09-18 11:50:52
【问题描述】:

我有一些 Java 代码可以在 Azure 存储文件服务(Azure 的 SMB 文件共享功能)上创建一个新文件,我正在尝试将元数据添加到该 com.microsoft.azure.storage.file.CloudFile对象:

final HashMap<String, String> metaData = new HashMap<>();
metaData.put("tag", value);
cloudFile.setMetadata(metaData);

如果我立即对同一个 CloudFile 对象执行 getMetadata() 调用,它就在那里。但是,在程序退出并在 Azure 门户中查看文件后,看不到任何元数据。我刚刚编写了一个单独的测试程序来创建一个引用该文件的新 CloudFile 对象,它也无法检索元数据。

在设置元数据后,我还需要做些什么来“保留”我的元数据吗?顺便说一句,我已经成功地对 Blob 存储对象进行了此操作,但这是第一次尝试使用文件服务对象。

【问题讨论】:

    标签: java azure azure-storage-files


    【解决方案1】:

    设置元数据后请调用uploadMetadata()方法。

    所以你的代码是:

    final HashMap<String, String> metaData = new HashMap<>();
    metaData.put("tag", value);
    cloudFile.setMetadata(metaData);
    cloudFile.uploadMetadata();
    

    【讨论】:

    • 我确实在发布我的问题后发现了这一点(没有机会更新这个线程),但我不确定的一件事是我是否应该首先下载元数据(我发现是使用 downloadAttributes()) 完成,这样我就不会覆盖任何现有的元数据?
    猜你喜欢
    • 2021-11-08
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 2020-09-24
    相关资源
    最近更新 更多