java azure blobs sas_使用Azure.storage.blobs在。NET Core 3.1中生成SAS过期令牌

在这件事上有点麻烦。 在遵循Microsoft文档中的示例后,我得到了一个SAS令牌,但遇到了SAS令牌未经过身份验证的问题。string sastoken = "";

BlobServiceClient blobServiceClient = new BlobServiceClient("DefaultEndpointsProtocol=https;AccountName=accountname;AccountKey=accountkey;EndpointSuffix=core.windows.net");

string containerName = containername;

BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);

BlobSasBuilder sasBuilder = new BlobSasBuilder()

{

ExpiresOn = DateTime.UtcNow + (new TimeSpan(24, 0, 0)),

BlobContainerName = containerName,

BlobName = imageData.filename,

Resource = "b"

};

sasBuilder.SetPermissions(BlobSasPermissions.Read);

sastoken = sasBuilder.ToSasQueryParameters(new StorageSharedKeyCredential(containername, credentialkey)).ToString();

UriBuilder fulluri = new UriBuilder()

{

Scheme = "https",

Host = string.Format("{0}.blob.core.windows.net", containername),

Path = string.Format("{0}/{1}", "blobtest", "file.bmp"),

Query = sastoken

};

imageData.url = fulluri.Uri.ToString();

imageData.url返回为:https://accountname.blob.core.windows.net/containername/file.bmp?sv=2019-07-07&se=2020-07-10t14%3a54%3a43z&sr=b&sp=r&sig=UXVC7SAXQTSVGFXJ6l%2boiintMHQJ%2f3nh95v%2flrVM8g%3D

我得到了一个身份验证错误,但是SAS令牌的全部作用就是提供身份验证。 我肯定我漏掉了什么,但没有发现我犯错的地方。 我找到的大多数信息都与Microsoft.Azure.Storage包有关,而不是与Azure.Storage.Blob命名空间有关。 欢迎任何帮助或建议。 谢啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值