在 js 中的 azure blob 上设置元数据

Posted

技术标签:

【中文标题】在 js 中的 azure blob 上设置元数据【英文标题】:Setting Metadata on azure blob in js 【发布时间】:2021-11-21 14:12:18 【问题描述】:

我看到了 c# 的示例,但我找不到 js 的实现信息。 js中如何设置blob的元数据?

const metadata = name, selection

await blockBlobClient.upload(file);
await blockBlobClient.setMetadata(container, file, metadata)

我正在查看此链接,它调用 setMetadata 但它没有设置:

http://azure.github.io/azure-storage-node/BlobService.html#setBlobMetadata__anchor

【问题讨论】:

您使用的 SDK 是什么?我感觉您正在混合使用 2 个不同的 SDK。 我正在使用@azure/storage-blob@12.1.1。另一个是什么? azure-storage - 这是较旧的 SDK,现已弃用。您正在使用旧 SDK 中的 setMetadata。请改用此方法:docs.microsoft.com/en-us/javascript/api/@azure/storage-blob/…. @GauravMantri 啊谢谢! 【参考方案1】:

感谢@gaurav mantri您的建议..

将您的建议转化为答案,以帮助吸引其他社区成员。

解决方案@gaurav mantri:

要在 js 中为 blob 设置元数据,您可以使用

setMetadata(metadata?: Metadata, options?: BlobSetMetadataOptions) 使用新的 azure-storage SDK(用于 java 脚本的 azure sdk)作为旧的 azure-storage SDK 已弃用。

请参考这些:

BlockBlobClient class | Microsoft Docs

BlobSetMetadataOptions interface | Microsoft Docs

【讨论】:

请不要这样做。您不应该将其他人的 cmets 转换为您自己的答案。如果认为有必要,评论者可以创建自己的答案。此外,这个问题实际上并不需要答案 - 这是由使用旧版 SDK 引起的一次性问题,此时应关闭(作为错字/不可重现)。

以上是关于在 js 中的 azure blob 上设置元数据的主要内容,如果未能解决你的问题,请参考以下文章

如何更新 Azure.Storage.Blob 中的元数据

仅从 Azure 存储 [Azure-Blob][REST] 中的 Blob 列表获取特定元数据

从 Azure 存储 Blob 访问元数据

列出 Azure 存储容器中的 Blob,包括元数据

将csv数据直接写入节点js中的azure blob

Azure 函数不会创建 blob 元数据