- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要存储有关 blob(文件的本地路径)的信息,并且能够覆盖该 blob 但保留信息。
我尝试了元数据方法,它正是我所寻找的,但是一旦我覆盖 blob,元数据也会被覆盖。
Updating an existing block blob overwrites any existing metadata on the blob
MSDN 声明有部分更新选项:
To perform a partial update of the content of a block blob, use the Put Block List operation.
问题是如何设置部分更新以仅更新 blob 的数据而不更新元数据?
谢谢。
我有一个云服务,可以从客户端获取文件并将文件返回给客户端。
所以实际发生的是:
客户端向服务发送请求以生成在 blob 存储中存储一个 blob 的访问权限,服务返回给他 URL+SAS ,我还创建了一个具有一个字符的实际 blob,以便在 blob 上保存元数据。
客户端获取URL+SAS并开始使用Web客户端库上传文件。
一旦客户端上传了文件,他将使用提供给他的相同 URL 向服务器发送请求(并简单地告诉服务,这是我的文件,做你的事情)
服务器将操作该文件并覆盖相同的 blob,并返回整个操作的日志。
客户端可以读取日志并可以从同一 URL 下载"new"文件。
正如您可能注意到的,问题是我让客户端覆盖我的 blob,他(客户端)要求我上传文件,我向他返回 URL+SAS,但是当我生成 SAS token 时,我还创建了一位blob 保存元数据,直到用户上传到实际数据,因此我不能要求用户先获取元数据然后上传(我需要上传来自 Webclient 库,而不需要像 Azure API 这样的特殊依赖项)。
所以我的问题答案的底线是“不,没有办法覆盖 blob 并保存元数据”,但是 Gaurav Mantri 对于我的情况有一个很好的解决方法。
最佳答案
这是解决您的问题的一种可能的解决方案。目前,当您创建 SAS URL 时,由于您的最终用户正在使用它上传文件,因此它具有Write
权限。您要做的就是修改您的 SAS URL 以包含读取
权限。
在客户端应用程序上,收到 SAS URL 后,您要做的第一件事就是使用 Get Blob Metadata
读取 blob 的元数据。 REST API 操作。您不需要为此目的使用 Azure SDK。您将执行 Head
请求,您的请求 URL 将为 https://[account].blob.core.windows.net/[container]/[blob]?sastoken&comp=metadata
仅使用 WebClient
。获取元数据后,您可以在用户上传文件时将其作为 x-ms-meta-*
请求 header 传回。
关于azure - 覆盖 Blob 但保留元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30072370/
我正在尝试从 Azure 容器中删除 blob。我能够连接到它并列出此问题中代码后面的所有 blob:Upload and Delete Azure Storage Blob using azure-
我正在尝试从 Azure 容器中删除 blob。我能够连接到它并列出此问题中代码后面的所有 blob:Upload and Delete Azure Storage Blob using azure-
运行我的 azure 函数(用于读取 azure blob 存储)后出现错误。 错误是 ID 0dad768d-36d4-4c1a-85ae-2a5122533b3c fail: Func
运行我的 azure 函数(用于读取 azure blob 存储)后出现错误。 错误是 ID 0dad768d-36d4-4c1a-85ae-2a5122533b3c fail: Func
我正在使用 C# 控制台应用程序 (.NET Core 3.1) 从 Azure Blob 存储读取大量图像文件并生成这些图像的缩略图。新图像将保存回 Azure,并将 Blob ID 存储在我们的数
我没有在网上看到任何有关如何获取位于 BlobContainerClient 内特定目录内的所有 blob 的示例。 以前,我使用的是 Microsoft.Azure.Storage 软件包,但这些软
我正在使用 C# 控制台应用程序 (.NET Core 3.1) 从 Azure Blob 存储读取大量图像文件并生成这些图像的缩略图。新图像将保存回 Azure,并将 Blob ID 存储在我们的数
我没有在网上看到任何有关如何获取位于 BlobContainerClient 内特定目录内的所有 blob 的示例。 以前,我使用的是 Microsoft.Azure.Storage 软件包,但这些软
我正在编写一些代码,允许用户使用麦克风录制自己的声音,然后将录音上传到 Azure Blob 存储。 为了录制音频,我使用类似于下面的代码 let recordedBlobs = []; this.m
当前使用:https://github.com/Azure/azure-sdk-for-go 概述:我当前正在从 azure blob 存储中下载一个 blob,解析该 blob,然后将转录的 blo
正在观看 this video about how to design Tinder ,在 06:50 提出了关于文件与 BLOBS 的观点。 我想知道大二进制文件和 BLOB(二进制大对象)之间有什
目前我有 hibernate JPA HSQLDB 来自动创建我的数据库表。 如何告诉 JPA 或 Hibernate 将字符串保存为 clob/blob 字段?即一个很长的字符串。到目前为止我找不
我有一个一维 NumPy 数组,其中包含一些“坏”值。我想剔除它们。 每个坏值的邻居只是“顽皮”,但我也想剔除它们。 对不良值的可靠测试是询问: arr<0.1 但是,(我能想到的)对于顽皮值的唯一可
查看有关获取 Blob 和获取 Blob 属性的 MSDN 文档。两个请求看起来相同 "https://myaccount.blob.core.windows.net/mycontainer/mybl
我有 2 个 Blob 存储,一个在 eastus,一个在 canadaeast,我想将一个 .vhd 从 eastus 复制到 canadaeast。我去了 eastus,在我想要复制的 blob
所以场景如下: 我有多个 Web 服务实例,用于将 blob 数据写入 Azure 存储。我需要能够根据收到的时间将 blob 分组到容器(或虚拟目录)中。偶尔(最坏的情况是每天)旧的 blob 会被
在 Azure Blobstorage 中,我有 100 个 Blob,但我只想列出前 10 个 Blob。我该怎么做? 我写的{maxResults:1}没有任何效果,它仍然列出了我所有的 Blob
我们当前的代码使用 Azure SDK 1.8,为了生成共享访问签名,它将首先调用 CloudBlobContainer.GetBlobReference(),然后调用 CloudBlob.GetSh
我有大量文件存储在公共(public) Azure blob 容器中,所有这些文件都通过我的 ASP.NET MVC Web 应用程序中的 HTML 直接引用。例如,blob 存储中一个图像的路径如下
我有一个 NodeJS 后端,它使用 Microsoft 的官方 Blob 存储库 (@azure/storage-blob) 来管理我的 Blob 存储: https://www.npmjs.com
我是一名优秀的程序员,十分优秀!