【发布时间】:2022-01-13 01:00:45
【问题描述】:
尝试使用 SAS 链接将文件上传到 Azure Blob 存储时出现错误。它是一个抱怨空 sp 属性的身份验证错误。奇怪的是 Sp 元素存在于 SAS Url 中。
这不是权限问题,因为我可以使用 ADF 使用相同的 SAS URL 上传文件。
网址
BlobEndpoint=https://####.blob.core.windows.net/####?sp=racwdl&st=2021-12-08T01:14:01Z&se=2022-02-28T09:14:01Z&spr =https&sv=2020-08-04&sr=c&sig=####
错误详情
服务器未能验证请求。确保值 授权标头正确形成,包括签名。 请求ID:ed57ec28-f01e-00a9-79d2-ebcfc2000000 时间:2021-12-08T01:22:40.1147833Z 状态:403(服务器失败 验证请求。确保 Authorization 标头的值 正确形成包括签名。)错误代码: 认证失败
附加信息:AuthenticationErrorDetail:sp 是必需的。 不能为空
内容:
AuthenticationFailedServer 未能验证请求。确保值 授权标头正确形成,包括签名。 请求ID:ed57ec28-f01e-00a9-79d2-ebcfc2000000 时间:2021-12-08T01:22:40.1147833Zsp 是强制性的。不能为空标头:x-ms-request-id:ed57ec28-f01e-00a9-79d2-ebcfc2000000 x-ms-错误代码:AuthenticationFailed 内容长度:407 内容类型:application/xml 日期:2021 年 12 月 8 日星期三 01:22:39 GMT 服务器:Microsoft-HTTPAPI/2.0
代码
Stream file = new FileStream(fileToUpload, FileMode.Open);
var blobServiceClient1 = new BlobServiceClient(endpointString);
var containerRef = blobServiceClient1.GetBlobContainerClient("dropoff-commissionstatements");
var blob1 = containerRef.GetBlobClient("TDM_FINAL_102449_13092021_COMMSTMT_AR_TAL_D95337.csv");
string file_extension = Path.GetExtension(fileToUpload);
string filename_withExtension = Path.GetFileName(fileToUpload);
blob1.Upload(file);
【问题讨论】:
标签: azure azure-blob-storage azure-authentication azure-sas