我在测试和开发服务器上遇到错误,上传带有azure blob存储的文件。在本地上传没有任何问题。我们正在使用Nuget进行文件处理。在调试时,我们在container.CreateIfNotExist()上收到错误 任何人都可以帮我解决错误。
提前致谢!
答案 0 :(得分:0)
根据您的描述,我假设您使用azure存储客户端库WindowsAzure.Storage将文件上传到blob存储。
在调试时,我们在container.CreateIfNotExist()
上收到错误
如果您使用 AccountName 和 AccountKey 构建CloudStorageAccount
,请确保您的AccountKey
正确无误,并且您可以登录到azure门户网站并检查它。如果您通过帐户级SAS令牌构造CloudStorageAccount
,请确保SAS令牌有效且包含相关权限。此外,您可以重新生成帐户密钥或新的SAS令牌以缩小此问题。此外,您可以利用fiddler在执行操作时捕获网络跟踪以缩小此问题。
此外,您需要检查服务器时间。正如Authentication for the Azure Storage Services所述:
存储服务确保请求在到达服务时不超过15分钟。这可以防范某些安全攻击,包括重放攻击。当此检查失败时,服务器返回响应代码403(禁止)。
此外,您可以Enabling Storage Logging and Accessing Log Data检索详细的错误消息。
答案 1 :(得分:0)
问题是 Microsoft.ApplicationInsights 2.4.0。 通过降级至2.3.0来解决。
这真的很奇怪但是下面的链接确实帮助我解决了这个问题
Azure Storage Emulator 403 Forbidden
Azure CloudBlobContainer.CreateIfNotExists() throws Forbidden (403) on Local Development
谢谢!