C# Azure BlobClient 覆盖时在上传时设置 AccessTier

Posted

技术标签:

【中文标题】C# Azure BlobClient 覆盖时在上传时设置 AccessTier【英文标题】:C# Azure BlobClient Set AccessTier on upload when overwriting 【发布时间】:2022-01-06 01:41:44 【问题描述】:

现在我正在使用此重载将 blob 上传到 Azure:

public virtual Task<Response<BlobContentInfo>> UploadAsync(Stream content, bool overwrite = false, CancellationToken cancellationToken = default(CancellationToken))

但这不会让我设置AccessTier (Hot, Cold, etc.)。这样做的唯一方法是使用接受BlobUploadOptions 的重载之一,但它们都不接受参数overwrite。真的没有简单的方法吗?

【问题讨论】:

您使用的是什么版本的 SDK? 【参考方案1】:

您可以尝试使用CloudBlockBlob.SetStandardBlobTier 其中 standardBlobTier 给出了标准存储帐户上块 blob 的层,其中字段是 -

存档:3 - 存档存储 酷:2 - 冷藏 热:1 - 热存储

参考文献 c# Azure Cannot set the blob tier - Stack Overflow

【讨论】:

猜猜这会起作用,但也会产生另一个请求。不是只有最初的可能吗?

以上是关于C# Azure BlobClient 覆盖时在上传时设置 AccessTier的主要内容,如果未能解决你的问题,请参考以下文章

Python Azure 函数:blobclient.upload_blob 授权失败

Azure BlobClient downloadToFile() 抛出 java.nio.file.NoSuchFileException

Azure Blob Storage SDK for .NET BlobClient.UploadAsync 总是抛出异常,但总是上传文件

Azure C# 应用服务 ODBC 连接到 Redshift

c# winform 控件层次问题

Azure 功能不接受在远程创建文件