繁体   English   中英

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

[英]Azure Storage (classic) vs Azure Storage (V2) code not working for V2 storage

我有一个工作角色正在运行并检查数据是否存在于 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 DOCUMENT


如果您尝试使用违反命名规则的名称创建容器或 blob,请求将失败,状态代码为 400(错误请求)。


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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM