- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到在调试跟踪中我当前的方法正在触发 blob 上的 HEAD - 大概是为了检查它是否已经存在。我知道它永远不会,如果它确实存在我想覆盖。我只想直接 PUT 来缩短几毫秒,重要的是减少 Application Insights 应用程序映射中的噪音,其中 HTTP 404 错误显示为 Azure Blob 依赖项失败。
BlobHttpHeaders 中没有选项,我也无法在 BlobUploadOptions 中找到任何此类覆盖选项。我缺少什么?
我想在一次调用中完成设置内容类型和标签的所有工作。我知道以下覆盖,但这将导致后续请求设置我想避免的内容类型和标签。
UploadAsync(Stream content, bool overwrite = false, CancellationToken cancellationToken = default)
SDK 程序集 Azure.Storage.Blobs,版本=12.10.0.0
我当前的代码:
// blob settings
var options = new BlobUploadOptions()
{
// set content type
HttpHeaders = new BlobHttpHeaders()
{
ContentType = contentType,
ContentEncoding = "UTF-8"
},
// Set blob index tags
Tags = new Dictionary<string, string>
{
{ "quoteid", "123" },
{ "responseId","456" }
}
};
// upload blob
var content = Encoding.UTF8.GetBytes(data);
using var ms = new MemoryStream(content);
await blobClient.UploadAsync(
ms,
options
);
更新:
最佳答案
根据User Gaurav Mantri - Stack Overflow的建议,使用BlockBlobClient
注意: UploadAsync(Stream, BlobUploadOptions, CancellationToken) 不支持部分更新;现有 Blob 的内容将被新 Blob 的内容覆盖。要执行 block blob 内容的部分更新,请使用 Azure.Storage.Blobs.Specialized.BlockBlobClient.StageBlock(System.String,System.IO.Stream,System.Byte[],Azure.Storage.Blobs.Models.BlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken)
和 CommitBlockListAsync(IEnumerable, CommitBlockListOptions, CancellationToken)操作。
关于c# - 使用 BlobUploadOptions 时如何在 Azure BlobClient 中设置覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71428072/
我注意到在调试跟踪中我当前的方法正在触发 blob 上的 HEAD - 大概是为了检查它是否已经存在。我知道它永远不会,如果它确实存在我想覆盖。我只想直接 PUT 来缩短几毫秒,重要的是减少 Appl
我注意到在调试跟踪中我当前的方法正在触发 blob 上的 HEAD - 大概是为了检查它是否已经存在。我知道它永远不会,如果它确实存在我想覆盖。我只想直接 PUT 来缩短几毫秒,重要的是减少 Appl
我是一名优秀的程序员,十分优秀!