为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 Azure 文件共享获取文件元数据?

如何从 Azure 文件共享获取文件元数据?

森林海 2023-02-24 10:35:36
我正在尝试使用 npm storage-file-share从 Azure 文件共享获取文件共享元数据。代码片段如下,但没有在文档中找到任何获取元数据的地方。有没有办法从 azure 库中获取元数据或者必须调用rest api?const serviceClient = new ShareServiceClient(      `https://${storageAccountName}.file.core.windows.net`,      credential    );    const directoryClient  = serviceClient.getShareClient(shareName).getDirectoryClient(directoryPath);    const dirIter = directoryClient.listFilesAndDirectories();    const list = [];    for await (const item of dirIter) {        list.push({name: item.name, metadata????}); // Need item metadata     }
查看完整描述

2 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

您可以将getProperties方法用于fetching metadata和file。directory下面是这个方法的定义:


返回文件的所有用户定义元数据、标准 HTTP 属性和系统属性。它不返回文件的内容。


所以在你的代码 -> 里面for await (const item of dirIter),你需要判断是不是fileor directory,然后调用getProperties()方法。示例代码如下所示:


for await (const item of dirIter) {

      if (item.kind === "directory") {

        

        const mydirectory = directoryClient.getDirectoryClient(item.name);

        var diretory_properties = await mydirectory.getProperties();


        //for test, you can print out the metadata

        console.log(diretory_properties.metadata);


        //here, you can write code to add the metadata in your list


      } else {

        

        const myfile=directoryClient.getFileClient(item.name);

        var the_properties = await myfile.getProperties();


        //for test, you can print out the metadata

        console.log(the_properties.metadata)


       //here, you can write code to add the metadata in your list


      }

    }


查看完整回答
反对 回复 2023-02-24
?
郎朗坤

TA贡献1921条经验 获得超9个赞

您可以使用该方法getShareMetadata

fileService.getShareMetadata(shareName, function (error, result, response) {


查看完整回答
反对 回复 2023-02-24
  • 2 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信