我正在try 将拼花文件上传到Azure,但它不断向我提供错误消息,称其缺少所需的HTTP标头.
在我提供的示例中,我刚刚try 了内存流中的一些基本数据,但它仍然会引发这个异常.
请求失败异常:为此必须的HTTP标头 未指定请求. 请求ID:0 bd 87 df 1 - 701 f-0003- 5 ff 4 - 944 ccd 00000 时间:2024-04- 22 T20:36:16.2840714Z状态:400(一个是 未指定此请求的强制性内容.)错误代码: 失踪的redHeader
内容:{"错误":{"代码":"MissingDeliveredHeader","消息":"一个HTTP 此请求强制的标头不是 指定.\ n请求ID:.\ n时间:2024-04- 22 T20:36:16.2840714Z '}
标头:连接:keep-alive x-ms-error-code:MissingDeliverredHeader x-ms-请求-id:.. x-ms-版本: 2024-05-04 x-ms-client-请求-id: ...内容长度:204内容类型: 应用程序/json;charset=utf-8日期:2024年4月22日星期一20:36:16 GMT 服务器:Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0通过:RECTED
代码 :
string storageAccountName = "name";
string storageAccountKey = "key";
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
BlobServiceClient blobServiceClient = new BlobServiceClient(
new Uri("https://" + storageAccountName + ".dfs.core.windows.net"),
sharedKeyCredential
);
BlobContainerClient desContainer = blobServiceClient.GetBlobContainerClient("testcontainer");
BlobClient desBlob = desContainer.GetBlobClient("/testAPI/my.parquet");
var myStr = "Hello!";
var content = Encoding.UTF8.GetBytes(myStr);
using (var ms = new MemoryStream(content))
desBlob.Upload(ms);
我无法找到缺少哪些标头,而且我不确定如何添加它们,因为似乎没有标准的方式添加标头;内容类型
包装 :
- Azure.Core-1.39.0
- Azure.Storage.Blobs — 12.20.0—beta.2
- Azure.存储.Common - 12.19.0-beta.2
我曾try 恢复到旧的包,以为功能以前就存在,但在最近的修订版中发生了变化.
任何正确方向的帮助都会有所帮助.