上传到 Azure 存储时出现内部 500 错误

Posted

技术标签:

【中文标题】上传到 Azure 存储时出现内部 500 错误【英文标题】:Internal 500 error when uploading to azure storage 【发布时间】:2013-12-14 15:36:02 【问题描述】:

我正在使用下面的代码上传到 Azure。小文件没问题,但较大的文件(只有 30MB)会引发 500 错误。 Azure 存储资源管理器上传没有问题。这似乎是一个超时,因为抛出错误需要很长时间。我有点卡住了,因为错误是如此模糊,是否有任何端口需要打开?这是在我的本地计算机上,但控制台将在 Azure VM 上。同样,我需要注意 VM 上的任何防火墙设置。

    CloudStorageAccount = New CloudStorageAccount(New StorageCredentials("account", "key"), True)
    Dim BlobClient = CloudStorageAccount.CreateCloudBlobClient()
    Dim Container = BlobClient.GetContainerReference("container")
    Dim CloudBlob = Container.GetBlockBlobReference("forcast/forcast.csv")
    CloudBlob.UploadFromFile("C:\HadoopTestData\forcast.csv", IO.FileMode.Open)

【问题讨论】:

【参考方案1】:

您可能会收到此错误,因为您尝试一次性上传一个非常大的文件。上传大文件时,建议分块上传。在 Windows Azure 术语中,您需要将文件拆分为更小的块并使用PutBlock 方法上传这些块。上传所有块后,您将使用PutBlockList 方法提交这些块。如果您在使用 Azure 存储资源管理器上传时通过 Fiddler 跟踪上传请求,您应该注意到它正在做同样的事情。

我有点卡住了,因为错误太模糊了,有没有需要的端口 开放?这是在我的本地机器上,但控制台将在 Azure 虚拟机。同样,我需要注意 VM 上的任何防火墙设置。

由于与 Windows Azure 存储的交互是通过 REST API 发生的(即在端口 80 或 443 上),因此您无需担心在防火墙中打开任何其他端口。

【讨论】:

以上是关于上传到 Azure 存储时出现内部 500 错误的主要内容,如果未能解决你的问题,请参考以下文章

从 Nuxt 上传到 AWS S3 存储桶时出现 500 内部服务器错误

尝试将生成的 pdf 文件上传到 Azure Blob 存储时出现 404 错误

上传文件时出现 HTTP 500 内部服务器错误 [重复]

将 Laravel 项目上传到服务器时出现错误 500

在 Azure Blob 存储中上传文件时出现 InvalidAuthenticationInfo 错误

尝试上传文件时出现异常