Я настраиваю эмулятор Azure Storage, но когда я пытаюсь поместить blob в контейнер, я получаю исключение выше.Исключение исключения эмулятора Azure: «Один из входов запроса недействителен».
Я работаю с Windows Azure Storage Emulator 4.4.0.0.
Я получаю ту же ошибку в своем коде (версии 4.3.0.0 и 7.0.0.0 от Microsoft.WindowsAzure.Storage), а также последнюю версию Microsoft Azure Storage Explorer (0.7.20160509.0). В коде метод отказа - CloudBlockBlob.UploadFromStream (источник myStream).
Я подключил прокси-сервер 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>
контейнеры создаются в порядке, так что я не думаю, что это проблема с авторизацией. У меня заканчиваются идеи о том, что может вызвать эту проблему.
UPDATE: Я попытался удалить проверку MD5, но это не имело значения.
Где вы искали версию 4.4.0.0 эмулятора хранения? Я загрузил последнюю версию только сейчас, и она говорит о версии 4.3. –