通过从流上传为 BlockBlob 续订 Sas

Renew Sas for BlockBlob with Upload from Stream

TL;DR; 使用 cloudBlockBlob.OpenWrite() 时需要更新 SAS 吗?如果是,如何?

这是一个跟进问题:

我设法使用 blob.OpenWrite() 将 ZIP 存档上传到 Blob:

CloudBlockBlob blob = container.GetBlockBlobReference(SAS);
using (ZipArchive zArch = new ZipArchive(blob.OpenWrite(), ZipArchiveMode.Create))
{
    ZipArchiveEntry entry = zArch.CreateEntry("BigFile", CompressionLevel.Optimal);
    using (Stream stream = entry.Open())
    {
        SaveBigFileToStream(stream);
    }   
}

共享访问签名应该尽可能短命

我现在的问题是,如何确保 SAS 不会过期? 上传是否仅验证 SAS 一次?

您需要确保 SAS 在上传过程中不会过期,因为将一个巨大的文件上传到 Azure Blob 服务是由许多单独进行身份验证的 HTTP 请求组成的。