【发布时间】:2019-03-27 00:28:14
【问题描述】:
我正在排查为什么某台计算机昨天开始使用它定期运行的代码出现此异常。
我创建了以下测试来重现问题
var account =
CloudStorageAccount.Parse(
$"DefaultEndpointsProtocol=https;AccountName={accountName};" +
$"AccountKey={accountKey}");
var client = account.CreateCloudBlobClient();
var conref = client.GetContainerReference(containerRef);
var blobref = conref.GetBlockBlobReference(filename);
blobref.DownloadToFile(fullDownloadName, FileMode.Create);
在运行 windows 2012 Server Release 2 的好电脑上,文件下载 在运行 Windows 8.1 的坏电脑上,只会创建一个零长度的空文件
我重新启动了坏电脑。 我还能尝试什么?
两台电脑都可以上网。
Console.WriteLine($"DefaultEndpointsProtocol=https;AccountName={accountName};" + $"AccountKey={accountKey}")
在两台电脑上看起来都一样。
测试控制台应用引用 WindowsAzure.Storage 9.3.2
[更新]
我正在尝试从https://docs.microsoft.com/en-au/cli/azure/install-azure-cli?view=azure-cli-latest 安装客户端工具
我有一个无法访问此站点的错误。
【问题讨论】:
-
您能否验证云存储连接字符串
$"DefaultEndpointsProtocol=https;AccountName={accountName};" + $"AccountKey={accountKey}"是否正确解析? -
有没有办法 ping 存储帐户?
-
您可以将相同的字符串分配给变量并对其进行调试,或者根据应用程序类型,您可以使用类似 Console.WriteLine($"DefaultEndpointsProtocol=https;AccountName={accountName};" + $"AccountKey={accountKey}")
-
@KirstenGreed 您无法 ping 存储帐户终结点。您是否尝试过任何其他操作,例如列出存储帐户的容器或列出特定容器中的 blob?您是否仔细检查过两台机器上的 SDK 版本是否相同?
-
@KirstenGreed - 您已经在使用 SDK(所有
CloudStorageAccount内容,以及您正在创建的云存储客户端等)。为了使该代码正常工作,您必须在开发机器上本地安装 SDK。重要的是您在每台机器上使用相同版本的 SDK,以获得最一致的结果。
标签: c# azure-blob-storage