使用 Java SDK,如何在 Azure 存储文件服务中设置文件元数据?

Using the Java SDK, how to set metadata on a file in Azure Storage File Service?

我有一些 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 对象,它也无法检索元数据。

设置元数据后,我还需要对 "persist" 做些什么吗?顺便说一句,我已经成功地对 Blob Store 对象完成了此操作,但这是第一次尝试使用文件服务对象。

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

因此您的代码将是:

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