使用容器的 SAS 令牌/URL 将多个文件上传到 Azure Blob 存储



我能够在c#中使用以下代码为单个文件生成SAS令牌

BlobClient blobClient = this.container.GetBlobClient(blobPath);
BlobSasBuilder sasBuilder = new BlobSasBuilder()
{
BlobName = blobClient.Name,
BlobContainerName = this.container.Name,
Resource = "c", // b for blob, c for container
StartsOn = DateTimeOffset.UtcNow,
ExpiresOn = DateTimeOffset.UtcNow.AddHours(this.sasTokenExpiryHours),
};
sasBuilder.SetPermissions(BlobSasPermissions.Write);
Uri sasUri = blobClient.GenerateSasUri(sasBuilder);
return sasUri.AbsoluteUri;

使用生成的令牌,我只是发送一个带有二进制主体的PUT请求。

在令牌到期之前,我是否可以为容器生成SAS令牌并使用容器SAS令牌上传多个文件?

按照@GauravMantri的建议,

BlobSasBuilder sasBuilder = new BlobSasBuilder()
{
BlobContainerName = this.container.Name,
Resource = "c", // b for blob, c for container
StartsOn = DateTimeOffset.UtcNow,
ExpiresOn = DateTimeOffset.UtcNow.AddMinutes(2),
};
sasBuilder.SetPermissions(BlobSasPermissions.Write);
Uri sasUri = this.container.GenerateSasUri(sasBuilder);
return sasUri.AbsoluteUri;

这给出了SAS令牌[http://{the URL}/{theSASToken}],只需要将URL更新为http://{the URL}/file1?{theSASToken}

相关内容

  • 没有找到相关文章

最新更新