【问题标题】:Azure Storage Emulator exception: "One of the request inputs is not valid."Azure 存储模拟器异常:“其中一个请求输入无效。”
【发布时间】:2017-05-22 20:08:54
【问题描述】:

我正在设置 Azure 存储模拟器,但是当我尝试将 blob 放入容器时,出现上述异常。

我正在使用 Windows Azure Storage Emulator 4.4.0.0。

我的代码(Microsoft.WindowsAzure.Storage 的 4.3.0.0 和 7.0.0.0 版本)以及最新版本的 Microsoft Azure Storage Explorer (0.7.20160509.0) 中出现了同样的错误。在代码中,失败的方法是 CloudBlockBlob.UploadFromStream(myStream source)

我已经连接了 Fiddler 代理,并将请求与 Azure Blob REST API 进行了比较,我觉得没问题。

请求:

PUT     http://127.0.0.1:10000/devstoreaccount1/public/broker/broker_placeholderLogo.png HTTP/1.1
User-Agent: Azure-Storage/7.0.0 (.NET CLR 4.0.30319.42000; Win32NT 10.0.10586.0)
x-ms-version: 2015-07-08
Content-MD5: 1/VCBZRjnuUQPBtMviZfzw==
x-ms-blob-type: BlockBlob
x-ms-client-request-id: fec3ada1-653b-46ec-81f0-a1602baab494
x-ms-date: Wed, 25 May 2016 14:01:17 GMT
Authorization: SharedKey devstoreaccount1:60ts48q7J714f74GWTA3sbICqGvxqg2NXPWjZQH/IXA=
Host: 127.0.0.1:10000
Content-Length: 10748

回复:

HTTP/1.1 400 One of the request inputs is not valid.
Content-Length: 220
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 8882fa90-80d0-4043-a997-836f645bc349
x-ms-version: 2015-07-08
Date: Wed, 25 May 2016 14:01:17 GMT

<?xml version="1.0" encoding="utf-8"?><Error><Code>InvalidInput</Code><Message>One of the request inputs is not valid.
RequestId:8882fa90-80d0-4043-a997-836f645bc349
Time:2016-05-25T14:01:17.5245914Z</Message></Error>

容器创建得很好,所以我认为这不是授权问题。我对可能导致此问题的原因一无所知。

更新:我尝试删除 MD5 验证,但没有任何区别。

【问题讨论】:

  • 您从哪里下载了 Storage Emulator 4.4.0.0 版?我刚刚下载了最新的版本,说的是4.3版。

标签: azure azure-storage-emulator


【解决方案1】:

尝试通过安装 4.3.0.0 版本来解决它。今天遇到了同样的问题,效果很好

目前,仍然可以通过转到https://azure.microsoft.com/en-us/downloads/(部分:命令行工具)并下载 Azure 存储模拟器的独立包来下载版本 4.3.0.0。

【讨论】:

【解决方案2】:

我们已对该问题进行了调查,并确定它会影响部分客户。我们目前正在测试一个热修复来解决这个问题;在那之前,请继续使用 4.3。对于给您带来的不便,我们深表歉意。

[更新] 4.4 的更新版本现已发布,应该可以解决这个问题。

【讨论】:

  • Keith 的更新版本在哪里?我刚刚安装了 2.9.1 SDK 希望它能解决这个问题,但没有这样的运气。很高兴听到它已被调查。
【解决方案3】:

我在 iOS 上遇到了同样的问题。问题出在请求的默认缓存策略中,它默默地添加了 If-None-Match 标头。添加[request setCachePolicy: NSURLRequestReloadIgnoringLocalCacheData]; 为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 2021-12-30
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2011-02-06
    相关资源
    最近更新 更多