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

我正在尝试使用 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 

    }


森林海
浏览 102回答 2
2回答

繁星淼淼

您可以将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      }    }

郎朗坤

您可以使用该方法getShareMetadatafileService.getShareMetadata(shareName, function (error, result, response) {
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript