上传到 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 错误