Azure存储(经典)与Azure存储(V2)代码不适用于V2存储



我有一个工作角色正在运行并检查Azure上托管的存储中是否存在数据。当我将连接字符串用于经典类型的存储时,我的代码可以工作,但当我连接到V2 Azure存储时,它会抛出此异常。

"远程服务器返回错误:(400(错误请求">

while (true) 
{ 
try 
{ 
if (queue.Exists()) // The exception is throw here. 
{
try
{
CloudQueueMessage msg = await queue.GetMessageAsync();
if (msg != null)
{
//data manipulation code...
}
}

}
}
}

我希望能够使用V2存储而不是经典存储,因为经典存储现在在Azure上贬值了。

以下是解决上述问题的几种变通方法,

应用程序在运行时使用共享密钥授权访问Azure存储帐户中的数据所需的授权信息包含在connection string中。如下图所示,您可以配置连接字符串

  • 与Azurite存储模拟器建立连接。

  • 在Azure中,您可以访问存储帐户。

  • 通过共享访问签名(SAS(访问Azure中的指定资源。

请确保提供要获取/读取数据的存储帐户的正确连接字符串

有关更多信息,请参阅MS DOC|Configure Azure Storage connection strings

同样基于此MICRSOFT文档:


如果您试图创建一个名称违反命名规则,请求将失败,状态代码为400(坏请求(。


有关更多信息,请参阅SO THREAD

最新更新