我已将文件1.txt从容器A复制到容器B。
只要容器是公共的,我还可以获得复制文件的完整URL,也可以在同一浏览器选项卡中打开它。
现在,我将容器设为私有。.我希望有一个简单的API,可以当场为我提供SAS URL和令牌。
有没有这样的API?
答案 0 :(得分:4)
请尝试以下代码:
Azure.Storage.Sas.BlobSasBuilder blobSasBuilder = new Azure.Storage.Sas.BlobSasBuilder()
{
BlobContainerName = "demo-copy",
BlobName = "test.txt",
ExpiresOn = DateTime.UtcNow.AddMinutes(5),//Let SAS token expire after 5 minutes.
};
blobSasBuilder.SetPermissions(Azure.Storage.Sas.BlobSasPermissions.Read);//User will only be able to read the blob and it's properties
var sasToken = blobSasBuilder.ToSasQueryParameters(new StorageSharedKeyCredential(accountName, accountKey)).ToString();
var sasUrl = blobClient.Uri.AbsoluteUri + "?" + sasToken;
基本上,您需要使用BlobSasBuilder
类。