有没有办法可以找到有关Azure Storage拒绝邮件的详细信息?有什么方法可以通过Azure打开调试?通过电线鲨鱼的更多细节?
这发生在CDN
尝试将文件上传到Azure db.crashntsb.copyTo("crashntsbclean")
时,我尝试了8个 400错误请求的解决方案。似乎人们以各种方式指出代码的问题,错误只是没有表达。
我花了大约4个小时没有运气,没有更具体的看法。
请注意,我还没有发布代码,因为我没有找到解决我的具体问题的方法,就像找到我可以在更多情况下使用的解决方案一样。
答案 0 :(得分:5)
我建议查看StorageException
类,尤其是类RequestInformation
类的RequestResult
成员。它包含有关错误的有用信息。
这是一个例子。
static void UnderstandStorageException()
{
var cred = new StorageCredentials(accountName, accountKey);
var account = new CloudStorageAccount(cred, true);
var client = account.CreateCloudBlobClient();
var container = client.GetContainerReference("container");
var blockBlob = container.GetBlockBlobReference("something.txt");
try
{
blockBlob.UploadFromFile(@"D:\test.txt");
blockBlob.AcquireLease(TimeSpan.FromSeconds(10), Guid.NewGuid().ToString());
blockBlob.Delete();
}
catch (StorageException excep)
{
var requestInformation = excep.RequestInformation;
Console.WriteLine(requestInformation.HttpStatusCode);
Console.WriteLine(requestInformation.HttpStatusMessage);
Console.WriteLine(requestInformation.ExtendedErrorInformation.ErrorCode);
Console.WriteLine(requestInformation.ExtendedErrorInformation.ErrorMessage);
}
}
在这种情况下,我试图获取blob的租约,但我指定10秒作为租约持续时间,这是一个无效的输入。这将从Azure存储中生成400
状态代码。当我执行代码时,我得到以下信息:
HTTP Status Code: 400
HTTP Status Message: The value for one of the HTTP headers is not in the correct format.
Storage Error Code: InvalidHeaderValue
Storage Error Message: The value for one of the HTTP headers is not in the correct format.
RequestId:04969aab-0001-001c-5965-6df5fe000000
Time:2017-01-13T06:23:25.4667820Z